【发布时间】:2011-08-26 01:25:56
【问题描述】:
我有对象
var dataformdata={"key1":"value1","key2":"value2"};
然后我使用相同的键(key3)添加更多值
dataformdata.key3 = [];
dataformdata.key3.push("value3");
dataformdata.key3.push("value4");
我在每个斜坡上执行上述操作。除了通过浏览器控制台中的 jQuery ajax 函数发送 dataformdata 对象之外,这一切都有效,我看到键中有括号...
$.ajax({
type: "POST",
url: "/",
data: dataformdata,...
这是我在浏览器控制台中看到的:
key1:value1
key2:value2
key3%5B%5D:value3
key3%5B%5D:value4
它应该可以工作,因为在 jQuery.ajax() 文档中它说
对象必须是键/值对。如果 value 是一个 Array,jQuery 会根据传统设置的 value 序列化多个具有相同 key 的值
但是为什么键中的括号(%5B%5D)?
【问题讨论】:
-
jquery 的这种隐含和令人惊讶的行为给我在使用 struts 时带来了很多麻烦。在此处查看更多信息:issues.apache.org/jira/browse/BEANUTILS-334
标签: jquery ajax json object brackets