Лучший способ передать JSON из браузера в PHP с помощью Ajax.Request

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

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

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

4 ответа

Решение

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

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

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

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

var myJSON= Object.toJSON(youArray);

На стороне Php:

$myjson = $_POST['myjson'];

$arrayJSON= json_decode(stripslashes($myjson), true);

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

Другие вопросы по тегам