jsp通过$.ajax()向controller传递json数据分两种类型:get 和 post:
两种类型发送的http请求数据在不同的位置,get请求数据紧跟于url后面,post请求数据位于requestbody中,所以获取的途径肯定不同。
1.get请求
$("#ss").click(function(){ //ss这里我用的button测试 $.ajax({ type: "get", url: "/a/api/demand/getD_list/getlist", //controller contentType: "application/json", //参数传输类型为json data: { SysId: "100", //key值可不加双引号 "SysCode": "1" //key值可加双引号 }, dataType: 'json', //数据返回类型为json success: function (data) { alert(data); }, error: function () { alert('exception'); } }); });controller中获取到:
String va1 = request.getParameter("SysId"); String va2 = request.getParameter("SysCode");System.out.println("sssssssssssssssssssssss: " + va1); System.out.println("ddddddddddddddddddddddd: " + va2);
在页面中发送请求时:在调试模式中可看到整体路径,如下图
2.post请求:
$("#submit").click(function(){ $.ajax({ type: "post", url: "/a/api/demand/getD_list/getlist", contentType: "application/json", data: JSON.stringify({ "SysId": "100", "SysCode": "1", }), dataType: 'json', success: function (data) { alert(data); }, error: function () { alert('exception'); } }); });
获取方式在我其中一篇文章中已经写过了,是摘其他网友的。