1

我有以下js代码:

xmlhttp = GetXmlHttpObject();
if (xmlhttp != null) {
    var url = "/support/residential/outage/serviceOutage?cbrnum=" + cbrnum + "&btn=" + btn + "&outagetkt=" + outagetkt;
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("thankyoucontent").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST", url, true);
    xmlhttp.send(null);
}

这通过在查询字符串中传递某些参数来调用 servlet。现在我的问题是,我们可以将所有参数绑定到一个对象中,在查询字符串中单独发送该对象并使用 servlet 中的对象来检索参数值吗?可能吗?

4

1 回答 1

2

是的,您可以将数据作为 JSON 发送到服务器:

var data = {cbrnum: cbrnum, btn: btn};
var url = "...?data=" + encodeURIComponent(JSON.stringify(data));

然后在服务器端,检索 JSON 的值data并将其解析为本机数据类型(将 JSON 转换为 Java)。

请注意,浏览器通常会对 URL 施加长度限制。如果您有大量数据,请改为执行 POST 请求。

于 2013-06-04T08:27:23.650 回答