$.ajax({ url: url, type: method, data: JSON.stringify(f.serialize()) , dataType: "json", headers:{"Content-Type":"application/json;charset=UTF-8"}, success: function (d) { /* 其他代码 */ }, error: function (result) { console.log(result); }});
错误报文:java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 2;
调试很久没调通,服务端是Springboot,用Bean来接收json数据。开始以为Bean字段大小写的问题,我在前后端参数传递过程不停地切换字段首字母大小写,貌似通过服务端验证,但最后落在400 Bad Request这条错误反馈上。最后把关注焦点转移到提交数据的建立方式上,f.serialize()换成f.serializeArray()还是不行,最后正常通过数据用的是笨方法:直接拼装json。
var params={ trade_type:"NATIVE", name: "TEST"}
$.ajax({
url: url,
type: method,
data: JSON.stringify(params) ,
dataType: "json",
headers:{"Content-Type":"application/json;charset=UTF-8"},
success: function (d) { /* 其他代码 */ },
error: function (result) { console.log(result); } });