尝试使用ajax调用传递数组。
info = [];
info[0] = 'hi';
info[1] = 'hello';
$.ajax({
type: "POST",
data: {info: info, "action": "getPatientRecords"},
url: "/mobiledoc/jsp/ccmr/webPortal/carePlanning/servicePatientmilestoneModal.jsp",
success: function(msg) {
$('.answer').html(msg);
}
});
然而,当我尝试使用以下方法在服务器端捕获它时: 用request.getParameter( “信息”); //显示null **
另外,如果我想发送阵列数组?有可能吗?
我尝试使用序列化但是我的IE抛出序列化的错误:对象不支持此属性我包含了jquery lib。
答案 0 :(得分:9)
您可以使用JSON.stringify(info)
创建对象/数组的JSON表示(包括数组数组)。在服务器端,您应该能够通过getParameter
获取字符串,然后从JSON中反序列化以创建JSP可以使用的构造。
答案 1 :(得分:2)
是的,可以发送数组。
var info_to_send = ['hi','hello'];
$.ajax({
type: "POST",
data: {info: info_to_send, "action": "getPatientRecords"},
url: "/mobiledoc/jsp/ccmr/webPortal/carePlanning/servicePatientmilestoneModal.jsp",
success: function(msg) {
$('.answer').html(msg);
}
});
答案 2 :(得分:1)
您只能在请求网址中提供字符串。
您可以像这样对数组进行编码:
info = JSON.stringify(info);
// results in "['hi', 'hello']"
然后将其发送到服务器,同时在服务器上进行JSON解析。
您需要转到http://www.json.org/以获得JSON解析的Java实现。