几种常用的ajax配合json数据格式向后台发送请求以及后台如何接收数据

来源:互联网 发布:移动数据什么意思 编辑:程序博客网 时间:2024/06/05 02:18

一、$.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", //请求方式 postdataType : 'jsonp', //数据类型 jsonp        jsonp:"jsoncallback", //回调类型 jsonpcontentType:"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格式传递数据
js部分:

var data='{"update":[{';data+='"id":'+id;data+=',"shuLiang":'+num;data += '}]}';$.ajax({type: "POST", //请求方式 postdataType : 'jsonp', //数据类型 jsonp        jsonp:"jsoncallback", //回调类型 jsonpcontentType:"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); //元素是否存在,是否禁用}});
后台部分:

  1. 可以使用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
  2. 接收方式:(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则应用于查询操作;




阅读全文
0 0
原创粉丝点击