次のように構築された 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 でデータを受信するまでの間に、すべてのキーの最後の角かっこが消えてしまいます。
なぜこれが起こるのか、そしてこの問題を解決するきちんとした方法があれば誰かが私に説明できますか?
解決策の基準が 1 つあります。それは、キーを変更できないことです ('table_name\[field_name\]' など)。