1

在我的 ajax 调用的数据对象中,我有这样的东西:

data: {
    someVariable: []
}

当我开始 ajax 调用时,我可以在someVariable未发送的 POST 数据中看到。

  1. 这是一个 mootools 问题,还是 JS 范围内的问题?
  2. 我怎样才能故意发送一个空数组?
4

2 回答 2

2

I don't think you can send an empty array through an ajax call. You will need to come up with your own solution such as passing in array with an empty string[''] and handling that special case on the server side.

于 2013-01-03T20:43:42.343 回答
0

在查看 jquery 错误跟踪器中报告的错误时,他们说如下:

问题是没有办法以在 x-www-form-urlencoded 格式中有意义的方式序列化一个空数组。foo[bar]= 可能表示空数组、空字符串、空对象或空/未定义值,具体取决于后端选择如何解释它。由于两种序列化方式都不是真正“正确”的,并且大多数后端将其解释为“空字符串”,并且这以非常糟糕的方式打破了传统模式(根据论坛线程),我将其标记为阻止 1.6 所以它可以恢复到旧的行为。

http://bugs.jquery.com/ticket/6481#comment:12

所以,

  1. 这是javascript的限制

  2. 不。你可以做的是为一个空数组创建一个占位符,它用引号括起来,就像'[]'在服务器端,你可以将它解释为一个新的空数组。

于 2013-01-03T20:32:52.210 回答