我有以下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中的对象来检索参数值吗?有可能吗?
答案 0 :(得分:2)
是的,您可以将数据作为JSON发送到服务器:
var data = {cbrnum: cbrnum, btn: btn};
var url = "...?data=" + encodeURIComponent(JSON.stringify(data));
然后在服务器端检索data
的值并将JSON解析为本机数据类型(Converting JSON to Java)。
请注意,浏览器通常会对URL施加长度限制。如果您有大量数据,请改为执行POST请求。