我创建了一个像这样的JS数组var detailsArr = new Array();
并将一些数据推入该数组。
现在我通过 Ajax 将这个数组推送到我的 Spring 控制器,如下所示
$.ajax({
type: "POST",
url: "submit",
data: ({detailsArr : detailsArr }),
success: function(html){
alert( "Submitted");
}
});
在 Spring 控制器端,我通过@RequestBody
注解。 Spring 控制器方法签名如下所示
public String submit(@RequestBody String body)
但是在 Spring Controller 端接收到的数组基本上是这种格式的 String
detailsArr[]=add&detailsArr[]=test1&detailsArr[]=test2&detailsArr[]=test3
我必须手动拆分这个字符串才能获取值,这是一个繁琐的过程。有什么方法可以按原样获取数组,这样我只需迭代它即可获取值。
您应该将数组以 json 格式传递到服务器。并使用 Json 到对象转换器将其转换。您可以使用Gson
.
客户端:
$.ajax({
type: "POST",
url: "submit",
data:JSON.stringify(detailsArr),
success: function(html){
alert( "Submitted");
}
});
服务器端 :
public String submit(@RequestBody String body){
//convert body to array using JSONLib, FlexJSON or Gson
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)