昨晚我通过AJAX(特别是$.post
)向我的服务器发送了一些数据,当我遇到JavaScript Arrays需要进行" stringified"并在发送之前作为字段应用于对象。那就是:
$.post("/myUrl/", {"myKey": json.stringify(myArray)}, ... );
如果我没有执行stringify
,POST的格式会在到达Django时搞砸。
当对象可以按原样发送时,为什么需要为请求对数组进行字符串化?或者,这在使用的后端是否会有很大差异?
答案 0 :(得分:0)
对象不会“按原样”发送。 jQuery将对象重新编码为URL键/值对,例如:
http://this.url?myKey=stringifiedArray.
The documentation has more information on this
data
Type: PlainObject or String
A plain object or string that is sent to the server with the request.
使用对象是因为它们是开发人员操作的简单数据结构。