如何将数组作为(jquery)ajax请求的一部分发送
我试图将数组作为ajax请求的一部分发送,如下所示:
var query = [];// in between I add some values to 'query'
$.ajax({
url: "MyServlet",
data: query,
dataType: "json",
success: function(noOfResults) {
alert(noOfResults);
}
});
}
我想看看我在servlet中得到了什么,所以我使用了这一行:
System.out.println(request.getParameterMap().toString());
返回{}
表示空地图。
Firebug告诉我我遇到400 bad request
错误
如果我像这样发送一个queryString
attribute=value
作为“数据”,那么一切工作正常,因此它与无法按原样发送数组有关。我要怎么做才能将该数据放入servlet进行进一步处理。如果可以避免,我不想将其拉出并变成JS中的queryString。
发送数据之前,我使用了.serializeArray()(jQuery)函数。我没有得到400,但没有发送任何有用的信息。
回答:
您必须发送一个首先使用JSON.stringify进行字符串化的对象。
像这样:
var query = [];// in between I add some values to 'query'
$.ajax({
url: "MyServlet",
data: JSON.stringify({ nameParameter: query })
dataType: "json",
success: function(noOfResults) {
alert(noOfResults);
}
});
}
以上是 如何将数组作为(jquery)ajax请求的一部分发送 的全部内容, 来源链接: utcz.com/qa/404429.html