码迷,mamicode.com
首页 > 其他好文 > 详细

$.post()

时间:2015-03-11 19:30:34      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

定义和用法

post() 方法通过 HTTP POST 请求从服务器载入数据。

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)

参数描述
url 必需。规定把请求发送到哪个 URL。
data 可选。映射或字符串值。规定连同请求发送到服务器的数据。
success(data, textStatus, jqXHR) 可选。请求成功时执行的回调函数。
dataType

可选。规定预期的服务器响应的数据类型。

默认执行智能判断(xml、json、script 或 html)。



项目中:
页面代码:
<script src="${ctx}/js/jquery.js" type="text/javascript"></script>
 

   <script type="text/javascript">
        $(document).ready( function() {
        //使用 Ajax 的方式 检查分类名是否存在
        $("#result").hide();
        $("#name").keyup( function() {
            var url = ‘${ctx}/manage/example/gradeAjax.action‘;
            //获取表单值,并以json的数据形式保存到params中
            var params = {
                name:$("#name").val()
                //上行结尾决对不加逗号(,)。如果加了在IE6下就不能运行实现了。
            };
            //alert(params.name);
            //使用$.post方式
            $.post(
                url,        //服务器要接受的url
                params,     //传递的参数
                function cbf(data){ //服务器返回后执行的函数 参数 data保存的就是服务器发送到客户端的数据
                    var a = eval_r("("+data+")");    //包数据解析为json 格式
           //eval_r() 函数可计算某个字符串,并执行其中的的 JavaScript 码                       if(a.existed == "0"){
                        //$(‘#name‘).focus();// $(‘#name‘)[0].focus();
                        //$(‘#name‘).val($("#name").val());
                        $("#result").hide();
                        //setTimeout("$(‘#result‘).hide();",1000);//1秒
                    }else{$("#result").show();}
                },
               ‘json‘   //数据传递的类型  json
            );
        });
    });
   </script> 


。。。。
<tr>
                  <td class="item">班级名</td>
                  <td><input type="text" id="name" name="name" /><span id="result" style="color:red;font-size:12;">班级名已存在</span></td>
              </tr>

后台:
@SuppressWarnings("serial")
public class GradeAjaxAction extends ActionSupport {
    private final Log log = LogFactory.getLog(getClass());

    private String name;
    private String result;

    @Autowired
    @Qualifier( "gradeServiceImpl")
    private GradeService gradeService;

    @Override
    public String execute() throws Exception {
        log.debug(name);
        // 用一个Map做例子
        Map<String, String> map = new HashMap<String, String>();
        log.debug(name);
        boolean b = this.gradeService.isExistName(name);
        log.debug(b);
        // 为map添加一条数据,记录一下页面传过来name
        map.put("existed", b ? "1" : "0");
       log.debug("map:" + map);
        // 将要返回的map对象进行json处理
        JSONObject jo = JSONObject.fromObject(map);
        log.debug("jo:" + jo);

        // 调用json对象的toString方法转换为字符串然后赋值给result
        this.result = jo.toString();

        // 可以测试一下result
        log.debug("result:" + this.result);

        return SUCCESS;
    }

    public String getResult() {
        return result;
    }

    public void setName(String name) {
        this.name = name;
    }

}

配置文件中:
<action name="gradeAjax" class="com.goldsoft.action.example.GradeAjaxAction">
            <!-- 返回类型为json, 在struts2-json-plugin-2.2.3.jar->struts-plugin.xml中定义 --> 
            <result type="json"> 
                <!-- root的值对应要返回的值的属性 --> 
                <!-- 这里的result值即是 对应action中的 result --> 
                <param name="root">result</param> 
            </result> 
        </action>

$.post()

标签:

原文地址:http://www.cnblogs.com/felix-/p/4330407.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!