您的位置:首页 > 移动开发 > Objective-C

Ajax传JSON字符串,后台用@RequestObject接收不到?!

2018-03-28 15:51 525 查看
少东西解决办法是在$.ajax中加入

headers: {
"Content-Type": "application/json"
},

会在 HTTP头部加入Content-Type属性,告诉服务器,参数是json格式的。

修改后前端代码为:

var p1 = $('#myform').serialize();
//city=440300&county=440303&dcode=440303&type=3&supid=440100&organiz=440101&name=aaa&licnum=22&licetime=2018-03-13
var p2 = JSON.stringify($('#myform').serialize());
//"city=440300&county=440303&dcode=440303&type=3&supid=440100&organiz=440101&name=aaa&licnum=22&licetime=2018-03-13"
var paramObj = $('#myform').serializeJSON();
// ==> Object类型
var param = JSON.stringify($('#myform').serializeJSON());
// ==> 对象序列化为JSON字符串 {"city":"440300","county":"440303","dcode":"440303","type":"3","supid":"440100"}
$.ajax({
headers: { "Content-Type": "application/json" },
type : "POST",
async : false,
url :path +'/baseSch/add',
data : param,
success: function(data) {
var d = data.data;
if(d == "操作成功!") {
alert(d);
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
parent.layer.close(index);
parent.location.reload();
} else {
alert(d);
}
}
});

注:使用$('#myform').serializeJSON();要引入jquery.serializejson.min.js

后端代码为:

@RequestMapping(value = "/add",method = RequestMethod.POST )
@ResponseBody
public ResultEntity add(@RequestBody BaseSch baseSch,HttpServletRequest request, HttpSession session) {
...
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐