Передача javascript объекта на сервер

Обычно данные для AJAX запроса передаются методом GET в виде переменная1=значение&переменная2=значение. А если Delayed нам нужно передать большую структуру данных, например объект javascript wholesale mlb jerseys или массив объектов? Согласитесь, что на много удобнее работать с объектами, а не с отдельными переменными.

Как передать объект javascript на сервер?

На помощь нам приходит JSON (JavaScript Object wholesale nfl jerseys Notation). JSON – это запись cheap mlb jerseys javascript объекта в строковом Symfony представлении. В таком случае мы можем наш массив javascript объектов передать на сервер в Hello виде JSON строки, а на Stadion сервере “расшифровать” эту строку в такой же массив объектов (php объектов).

Для решения подобной задачи нам нужна функция для преобразования объектов в JSON строку. Сделать это можно при помощи библиотеки: http://json.org/json2.js (здесь только 2 метода – parse и stringify). Подключаем этот файл к странице:

<script src=“javascript/json.js”

type=“text/javascript”></script>
<script type=“text/javascript”>
<!–
// создаем массив объектов
var arrObjects = new Tafels. Array();
arrObjects.push( { id: 5, name: “rukudic”, age: 24} cheap nfl jerseys );
arrObjects.push( { id: 7, name: “Zhenya”, age: 22} );

// передаем массив на сервер (например, при помощи jQuery)
$.ajax({
type: “POST”,
url: ‘./ajax.Handler.php’,
dataType: “json”,
data: “arrObjects=” + JSON.stringify(arrObjects),
success: function(response)
{
// обрабатываем ответ сервера
}
});

–>
</script>

На Calculator сервере преобразовываем значение при помощи Evangelism php функции json_decode:

$arrObjects = json_decode($_POST[‘arrObjects’]);

  • кстати, замечал странность за JSON.parse(). иной раз при парсинге, этой функцией без всяких ошибок весь код слетал и дальше JSON.parse() не шел, однако eval там же срабатывал нормально. пытался искать какие эксепшены выбрасывает .parse(), но че-т не нашел…

  • admin

    Да, бывает и такое.
    Хотя, там же сразу написали:
    “NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK” 😉

  • Удивительно.

  • Добрый день. А не подскажете, где можно поискать такую же информацию, но на английском языке

  • admin

    Горе-комментаторы… Во хоть бы свежие посты комментили, а то смысл старые трогать? Они уже проиндексированы давно…

  • Евгений

    JSON.stringify(arrObjects) н ебудет работатьь в IE, а на сервере такой код $arrObjects = json_decode($_POST[‘arrObjects’]); не преобразует строку JSON в массив. Нужно использовать этот код:
    $arrObjects = get_object_vars(json_decode(stripslashes($_POST[‘arrObjects’])));