SpringMVC中ajax发送jsonarray到controller的方法
程序员文章站
2022-06-05 13:48:09
...
<!--HTML-->
document.getElementById("Update").onclick = function UpdateById(){
var array = [];
for (var i=1;i<=4;i++)
{
var info= {};
info.id = $("#id"+(i)).val();
info.name= $("#name"+(i)).val();
array.push(info);
}
console.log(JSON.stringify(array));
$.ajax({ // header一定要加,否则会报415错误
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
url:"${pageContext.request.contextPath}/info/update",
type:"post",
data:JSON.stringify(array),// 格式转换一定要加
dataType:"json",
success: function(data) {
console.log(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
},
})
};
@RequestMapping(value = "update",method = RequestMethod.POST)
@ResponseBody
// 这里List的类型只能用JSONObject,用其他的,编译能通过,但是在实际应用中会报错,说不能强转。
public boolean UpdateById(@RequestBody List<JSONObject> is) {
System.out.println(is);
for(int i=0;i<is.size();i++){
Info info = new Info();
info.setId(ps.get(i).getInteger("id"));
info.setName(ps.get(i).getString("name"));
parentInfoService.UpdateById(p);
}
return true;
}