一、$.ajax()(无刷新)
- jsonp格式:以url形式传递拼接数据:http://192.168.1.1/pwc/esb?gn=tx&cz=list&id=1&shzt=5
var param = {id:$("#cxsq_xk_id").val(),shzt:$('input[name="cxsq_sfcd"]:checked').val()}
$.ajax({
type: "POST", //请求方式 post
dataType : 'jsonp', //数据类型 jsonp
jsonp:"jsoncallback", //回调类型 jsonp
contentType:"application/x-www-form-urlencoded; charset=utf-8", //请求内容类型(键值对,编码格式utf-8)
url: "/esb?gn=ts&cz=check", // 请求地址
data: param, //请求附带参数
timeout:20000, //请求超时时间(20秒)
error:function(XMLHttpRequest, textStatus, errorThrown){ //请求错误捕捉
alert("连接服务器失败,请重试!");
},
success: function(responseData){ //请求成功捕捉
$("#modal_cxsq").modal('hide');
InitData(cur_page);
$("#btn_modal_ts_tj").attr("disabled", false);
}
});后台接受数据方式:String str = request.getParameter("id");或者Object obj = request.getAttribute("id");
- 以jsonp格式传递数据
var data='{"update":[{';
data+='"id":'+id;
data+=',"shuLiang":'+num;
data += '}]}';
$.ajax({
type: "POST", //请求方式 post
dataType : 'jsonp', //数据类型 jsonp
jsonp:"jsoncallback", //回调类型 jsonp
contentType:"application/x-www-form-urlencoded; charset=utf-8", //请求内容类型(键值对,编码格式utf-8)
url: sjzxym+"/esb?gn="+gn+"&cz="+cz, // 请求地址
data: {rows:param}, //请求附带参数(rows)
timeout:20000, //请求超时时间(20秒)
error:function(XMLHttpRequest, textStatus, errorThrown){ //请求错误捕捉
//alert("连接服务器失败,请重试!");
btn!=null&&$(btn).attr("disabled",false); //元素是否存在,是否禁用
},
success: function(responseData){ //请求成功捕捉
callback(responseData); //回调
btn!=null&&$(btn).attr("disabled",false); //元素是否存在,是否禁用
}
});后台部分:
- 可以使用alibaba的fastjson、google的GSON、json-lib来解析json数据;以json-lib为例,导入相关jar包(
-
json-lib-2.3-jdk15.jar
-
commons-beanutils-1.8.0.jar
-
commons-collections-3.1.jar
-
commons-lang-2.4.jar
-
commons-logging-1.1.1.jar
-
ezmorph-1.0.6.jar
-
- 接收方式:(1)接收json对象:JsonObject obj = JsonObject.fromObject(request.getParameter("rows"));(2)接收json数组:JsonArray arr = JsonArray.fromObject(request.getParameter("rows"))
二、$.getJSON(无刷新)
var url = "http:127.0.0.1/pwc/esb?gn="+gn+"&cz="+cz+"&jsoncallback=?"; $.getJSON(url,param,function(data){ callback(data); });
后台接受数据方式:String str = request.getParameter("id");或者Object obj = request.getAttribute("id");
$.ajax主要用于增删改操作,$.getJSON则应用于查询操作;

本文介绍了如何使用jQuery的$.ajax和$.getJSON方法进行无刷新请求,特别是结合jsonp格式向后台发送json数据。同时,文章提到了利用json-lib等库解析json数据,并给出了后台接收json对象和数组的示例。
2034

被折叠的 条评论
为什么被折叠?



