Jquery ajax post 像 spring mvc 传递复杂对象
今天用Jquery的ajax.post()像sprinmvc传送一个比较复杂的对象:
就是用$.post(…)这个方法传送下面的对象:
public class UserRole {
private String userId;
private List roleReportList;
//getter&setter
}
public class UserRoleReport {
private String name;
private int level;
private String id;
//getter&setter
}
就是怎么传,怎么报415错。
后来查着说要加contentType : “application/json”这个报头,我用chrome的开发者工具查看网络请求里面,是带着的!!!!!但就是不行。最终换成了$.ajax(…)的方法才行的通。具体代码如下:
$.ajax({
url : “url”,
type : “POST”,
async : true,
contentType : “application/json”,
data : JSON.stringify(userRole),
dataType : ‘json’,
success : function(result) {
result = $.parseJSON(result);
if (!result.resultState) {
alert(result.resultMessage);
} else {
$(window).attr(‘location’, PREFIX_URL + result.object);
}
}
});
注意加粗的地方,是将我的一个js对象转为json字符串,userRole的结构与我的java对象UserRole一致。
总结一句话就是:
**
jquery的ajax方法发送复杂json字符串到Springboot的时候,使用$.ajax(…)方法。
**
如果各位亲有更好的解决方法,欢迎留言交流。