Концепция JSON с использованием JavaScript и PHP - PullRequest
2 голосов
/ 21 февраля 2011

Мне нужен кто-то, чтобы пролить свет на эту тему.

Когда человек делает AJAX-вызов, который вызывает php-скрипт, который выводит информацию о json_encode, так что javascript может возиться с этим. Примечание. Предполагается, что в скрипте php мы установили заголовок json.

Данные, которые javascript получает от php-скрипта, нужно ли анализировать его с помощью библиотеки eval или json? Изменить: Это потому, что он обрабатывает данные, полученные из файла php, как текст, а не как javascript?

Можем ли мы использовать точечную нотацию javascript для данных, которые вернул скрипт php? Или эти данные каким-то образом должны быть преобразованы в объект javascript, прежде чем мы сможем использовать точечные обозначения?

Заранее спасибо.

Ответы [ 3 ]

6 голосов
/ 21 февраля 2011

JSON - это просто строка, которая соответствует синтаксису Javascript для объектов (отсюда сокращение: JavaScript Object Notation.)

Чтобы преобразовать его в объект Javascript, вы можете использовать функцию eval, нодля большей безопасности рекомендуется использовать объект JSON, включенный в современные браузеры, или функцию, предоставляемую выбранной вами библиотекой Javascript:

var json = '{"thing":1, "thang":"two"}';

var obj1 = eval('('+json+')'); // easier, less secure
var obj2 = JSON.parse(json); // secure, but doesn't work everywhere
var obj3 = jQuery.parseJSON(json); // secure, works everywhere

Многие библиотеки также будут выполнять преобразование для вас как часть Ajaxзапрос.Вот как это делает jQuery:

jQuery.get('http://domain.com/path/to/request', function(obj)
{
    // string is automatically converted to an object,
    // usable as array or with dot notation
    alert(obj.thing);
    alert(obj['thang']);
},
'json'); // indicates that we are requesting json and not html
0 голосов
/ 21 февраля 2011

JSON - это что-то вроде сериализации из PHP :) Это способ преобразования строки в объект и обратно:)

0 голосов
/ 21 февраля 2011

Вы всегда можете использовать такие библиотеки, как jQuery, Mootools, Prototype и т. Д. Для декодирования текста JSON в переменные Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...