我有一组对象。
var mydata1 = {};
var mydata2={};
mydata1.name="john";
mydata2.class="third";
mydata2.name="pan";
mydata3.class="second";
var dataArray= new Array();
dataArray[0]=mydata1;
dataArray[1]=mydata2;
in ajax call
jQuery.ajax({
url: '/myservlet',
type: 'POST',
data: dataArray,
async: false,
success: function(result) {
alert("Saved Node.")
},
failure:function(result) {
alert("Not Saved")
}
});
对象是必需的,因为对象中的值是动态的。将来会改变。如何通过ajax传递这种对象。 我们可以改成JSON吗?但是也需要在servlet中进行迭代。 提前谢谢。
答案 0 :(得分:3)
在数据阵列上使用JSON.stringify()
函数将其序列化为JSON格式:
jQuery.ajax({
url: '/myservlet',
type: 'POST',
data: JSON.stringify(dataArray),
...
然后,您可以使用JSONArray:
读取servlet中的JSONString requestData = request.getReader().readLine();
JSONArray array = new JSONArray(requestData);
// to get name property of the first object:
array.getJSONObject(0).getString("name");
创建的JSON只是一行文本,因此我们不需要从请求阅读器中读取更多行。