2

尝试使用 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("info"); //显示空**

另外,如果我想发送一个数组数组?可能吗?

我尝试使用序列化但是我的 IE 抛出了序列化的错误:对象不支持这个属性我确实包含了 jquery lib。

4

3 回答 3

10

您可以使用JSON.stringify(info)创建对象/数组(包括数组数组)的 JSON 表示。在服务器端,您应该能够通过获取字符串getParameter,然后将其从 JSON 中反序列化以创建 JSP 可以使用的构造。

于 2013-07-18T19:57:33.730 回答
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);
    }
});
于 2013-07-18T19:57:44.760 回答
1

您只能在请求 url 中提供字符串。

您可以像这样对数组进行编码:

info = JSON.stringify(info); 
// results in "['hi', 'hello']"

然后将其发送到服务器,也在服务器上进行 JSON 解析。

您需要访问http://www.json.org/以获取 JSON 解析的 Java 实现。

于 2013-07-18T20:00:58.980 回答