Лучший способ передать JSON из браузера в PHP с помощью Ajax.Request - PullRequest
4 голосов
/ 23 ноября 2008

Привет, у меня есть объект JSON, представляющий собой двумерный массив, и мне нужно передать его в PHP с помощью Ajax.Request (только так, как я знаю). ... Прямо сейчас я вручную сериализовал свой массив с помощью функции js ... и получил данные в этом формате: s [] = 1 & d [] = 3 & [] = 4 и т. Д. ...

мой вопрос: есть ли способ передать объект JSON более прямо / эффективно? ... вместо того, чтобы самому его сериализовать?

Спасибо за любые предложения, Andrew

Ответы [ 4 ]

5 голосов
/ 23 ноября 2008

Вы также можете использовать функцию Prototype toJSON () для преобразования массива в объект JSON. После передачи его на сервер с помощью Ajax-вызова просто используйте PHP-функцию json_decode () для декодирования объекта.

5 голосов
/ 23 ноября 2008

Передайте объект в виде JSON-строки в PHP, а в PHP используйте встроенный json_decode для получения PHP-объекта из строки.

В Javascript используйте функцию «stringify» для вашего объекта, чтобы получить его в виде строки, библиотека доступна, например, здесь: https://github.com/douglascrockford/JSON-js/blob/master/json2.js

2 голосов
/ 23 ноября 2008

На стороне Javascript (с прототами):

var myJSON= Object.toJSON(youArray);

На стороне Php:

$myjson = $_POST['myjson'];

$arrayJSON= json_decode(stripslashes($myjson), true);
0 голосов
/ 25 февраля 2010

Проверить http://www.openjs.com/scripts/data/ued_url_encoded_data/ правильно закодировать вложенные данные, поскольку Object.toQueryString () не принимает вложенные данные ...

...