为什么我们必须对数组进行字符串化而不是对象请求?

时间:2014-08-01 12:27:35

标签: javascript jquery django post request

昨晚我通过AJAX(特别是$.post)向我的服务器发送了一些数据,当我遇到JavaScript Arrays需要进行" stringified"并在发送之前作为字段应用于对象。那就是:

$.post("/myUrl/", {"myKey": json.stringify(myArray)}, ... );

如果我没有执行stringify,POST的格式会在到达Django时搞砸。

当对象可以按原样发送时,为什么需要为请求对数组进行字符串化?或者,这在使用的后端是否会有很大差异?

1 个答案:

答案 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.

使用对象是因为它们是开发人员操作的简单数据结构。