javascript объект в php с помощью jquery ajax

У меня есть массив или объект JavaScript, который я создаю так:arr[arr.length]=obj где obj - это классическая строка в формате JSON.{"id":1}

Такarr кажется массивом объектов JavaScript.

Я могу получить к нему доступ так:arr[1]arr[2], Это может быть даже какalert(arr[1].id);

Если я это сделаю: alert (JSON.stringify (arr)); Я получаю следующее:

[{"id":"2305","col":"1"},{"id":"2308","col":"1"},{"id":"2307","col":"1"},{"id":"2306","col":"1"}]

Принимая во внимание, предупреждение (обр); Дает мне что-то вроде:

[object Object],[object Object],[object Object],[object Object],[object Object]

Теперь мне нужно передать его в PHP-скрипт, используя jQuery 'Метод AJAX. Но похоже, что он может получить только комбинированные строки, такие как:

{"id":"2305","col":"1"} или же{"id":"2305","col":"1","id":"2305","col":"1"}

Но JSON.stringify успешно анализирует объект arr, и мой предыдущий пример строки, которая у меня есть, кажется допустимой строкой JSON. Как я могу перейти на PHP, если я действительно изменю весь формат структуры, чтобы быть похожим на последний образец?

UPD: я забыл упомянуть, что PHP 's POST массив равен нулю, если отправить '{}, {}, {}» скорее к ней{}» строка.

UPD: я переписал код сгенерированной строки. Теперь у меня есть такая строка:

{"2305":"1","2306":"1"}

Это работает, если я передаю его PHP напрямую, вот так:

   $.post({url: '../getItems2Cart.php', data:{"2305":"1","2306":"1"} ,
       success: function(response){alert(response);}
   });

Если я отправлю это так, php вернет пустой массив POST:

$.post({url: '../getItems2Cart.php', data: JSON.stringify(str),.
       success: function(response){alert(response);}
});

Чтобы получить ясность, alert теперь возвращает правильный JSON:

alert('json str to php '+JSON.stringify(str));
//json str to php {"2305":"1","2306":"1"}

Ааа .. да, и str - это объект javascript, а не строка.

Ответы на вопрос(1)

Ваш ответ на вопрос