我正在通过 ajax 将 json 对象发送到 java servlet。json 对象是键值类型,具有三个指向数组的键和一个指向单个字符串的键。我用这样的javascript构建它:
var jsonObject = {"arrayOne": arrayOne, "arrayTwo": arrayTwo, "arrayThree": arrThree, "string": stringVar};
然后我使用 ajax 将它发送到 java servlet,如下所示:
httpRequest.open('POST', url, true);
httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
httpRequest.setRequestHeader("Connection", "close");
var jsonString = jsonObject.toJSONString();
httpRequest.send(jsonString);
这会将字符串发送到我的 servlet,但它没有像我期望的那样显示。整个 json 字符串被设置为我的请求参数之一的名称。所以在我的 servlet 中,如果我做 request.getParameterNames(); 它将返回一个枚举,其中一个表条目的键是整个对象内容。我可能弄错了,但我的想法是它应该将每个键设置为不同的参数名称。所以我应该有 4 个参数,arrayOne、arrayTwo、arrayThree 和字符串。我做错了什么还是我的想法在这里?任何帮助表示赞赏。
谢谢