我注意到了一些奇怪的事情。我一直认为new Array()
与 相同{}
,但它似乎不同,因为它似乎{}
只是一个对象类型,而new Array()
在 Chrome 调试器中是一个数组。
所以我一直在使用$.param(data)
,其中 data 是来自$.ajax()
通话的数据。我注意到,当我在数据中有 aparams1 = new Array()
和 a时params2 = {}
,它们的输出方式不同。
params1 变成
params1[]=1¶ms1[]=2
和 params2 变成
params2[0]=1¶ms2[1]=2.
问题是我一直在使用.param(data, false)
,因为我注意到它params1[]
被错误地序列化,但是.param(data, false)
失败params2
并给了我params2=[object+Object]
.
我想我可以通过使用 .param(data) 并去掉“[]”来解决这个问题,这样无论使用{}
or初始化new Array
它,它仍然可以正常工作。但我想知道是否有更好的解决方案(不总是使用{}
vs new Array
)。