首先将contentType修改为application/json,然后将JSON对象序列化为字符串
//重载掉默认的postJSON数据格式
$.postJSON = function(url, data, callback) {
return jQuery.ajax({
'type' : 'POST',
'url' : url,
'contentType' : 'application/json',
'data' : JSON.stringify(data),
'dataType' : 'json',
'success' : callback
});
};
function save(_this){
var $tr=$(_this).parents("tr");
var inputs=$tr.find("input");
var data={};
data.name=inputs.eq(0).val();
data.sex=inputs.eq(1).val();
data.dept=inputs.eq(2).val();
data.job=inputs.eq(3).val();
data.mobilephone=inputs.eq(4).val();
data.telephone=inputs.eq(5).val();
data.address=inputs.eq(6).val();
data.qq=inputs.eq(7).val();
data.email=inputs.eq(8).val();
data.remark=inputs.eq(9).val();
data.id=inputs.eq(10).val();
console.log(data);
var callback = function (data) {
alert(JSON.stringify(data));
} ;
$.postJSON('${ctx}/testdb/update', data, callback) ;
}
然后提交数据
服务器端这样就可以成功200,但是使用@RequestBody就会报错
@RequestMapping(value="/update",method=RequestMethod.POST)
@ResponseBody
public void update(@RequestParam Map<String, String> params, final HttpServletResponse response) {
System.out.println(params.keySet().toString());
outJson("{'1':'2'}",response);
}