我正在尝试将长数组从 jquery load 传递到 spring 控制器。我如何向 spring mvc 控制器发送 js 对象数组。
每次发生操作时,都会调用脚本上的无数据警报。Script
var arr = [];//Array
$(document).ready(function() {
$(".rating").click(function() {
var idx = $(this).closest('td').index();
var userskill = {//Object
tech : $(this).closest('td').siblings('td.tech').text(),
skill : $('#listTable thead th').eq(idx).text(),
rValue : $(this).val()
}
add(userskill);
});
});
function add(userskill) {
arr.push(userskill);
$.ajax({
type : 'POST',
dataType : 'json',
url : '/SimplWebApp/saveUserRating',
data : ({
id : JSON.stringify(arr)
}),
success : function(responseData) {
if (responseData != null) {
alert(responseData);
} else {
alert("no data");
}
}
});
}
控制器
@RequestMapping(value = "saveUserRating")
public @ResponseBody String saveUserRating(@RequestParam(value="id[]", required=false) String[] x) {
Gson gson = new Gson();
String data = gson.toJson(x);
return data;
}
JSON 数组驻留在请求正文中。您可以使用@RequestBody
如果类路径上有 Jackson 来反序列化 JSON,则用于获取数组的注释。
saveUserRating(@RequestBody(required=false) String[] ids)
如果您想使用数组作为响应主体,只需从处理程序方法返回该数组即可。它将自动序列化为 JSON。
@ResponseBody
public String[] saveUserRating(saveUserRating(@RequestBody(required=false) String[] ids)) {
return ids;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)