在我的spring mvc应用程序中,下面是使用jquery-ajax在mvc控制器上发布的js对象。
我想在我的控制器中以字符串形式访问每个js对象以进行迭代。 jQuery ajax在控制器上发帖,但我无法访问json对象数组的成员。我怎么能这样做?
JS
var arr = [];
var index;
$(document).ready(function() {
$(".rating").click(function() {
var idx = $(this).closest('td').index();
var userskill = {
tech : $(this).closest('td').siblings('td.tech').text(),
skill : $('#listTable thead th').eq(idx).text(),
rValue : $(this).val()
}
var result= containsObject(userskill,arr);
if(result==false){
arr.push(userskill);
}else{
arr.splice(index, 1);
arr.push(userskill);
}
});
});
function containsObject(obj, list) {
var i;
for (i = 0; i < list.length; i++) {
if ((list[i].tech === obj.tech) && (list[i].skill==obj.skill)) {
index=i;
return true;
}
}
return false;
}
$(document).ready(function() {
$("#btn").click(function() {
$.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") String[] x) {
//code here..!
return x;
}
我想在控制器上获取数据
String tech=.........
String skill=........
String rValue=.......
JSON
["[{\"tech\":\"core javaá\"","\"skill\":\"Training\"","\"rValue\"
:\"1\"}","{\"tech\":\"Hibernateá\"","\"skill\":\"Training\"","\"rValue\":\"3\"}"
,"{\"tech\":\"javaFXá\"","\"skill\":\"Training\"","\"rValue\":\"2\"}]"]