假设我在 JavaScript 中有这个对象,它是这样构建的:
var obj = {};
var fields = ['table_name[field_name]', 'tale_name[field_name_2]']
for(var i; i < fields.length; i++){
obj[fields[i]] = someBulkOfData;
}
登录控制台时,obj会输出
{
table_name[field_name] : {...},
tabke_name[field_name_2] : {...}
}
这一切正常,直到我通过 jQuery.ajax() 通过 PHP 传递对象。
当我在 PHP 中收到我的请求时,数组如下所示:
[
['table_name[field_name'] => ...,
['table_name[field_name_2'] => ...
]
所以这里发生的事情是在发送 AJAX 请求和接收 PHP 中的数据之间的某个地方,每个键的最后一个方括号都消失了。
有人可以向我解释为什么会发生这种情况,以及是否有一种巧妙的方法来解决这个问题?
我有一个解决方案的标准,那就是我不能更改键(例如'table_name\[field_name\]')。