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

少东西解决办法是在$.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) {
...
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值