Как использовать JSON с Jquery? - PullRequest
6 голосов
/ 05 февраля 2009

Я работаю над приложением, которое отправляет запрос POST ajax к PHP-скрипту на моем сервере. Сценарий запросит базу данных и вернет строку записей в виде массива. (Один массив для каждой строки, содержащий такие элементы, как идентификатор, заголовок и т. Д.). Затем я хочу использовать json_encode() для кодирования этого массива и передать его обратно в JavaScript, который будет использовать его для отображения записей.

1) Как я могу вернуть закодированную JSON-строку в javascript? 2) Как JavaScript будет проходить по строкам и получать доступ к их полям?

Ответы [ 3 ]

11 голосов
/ 05 февраля 2009

Чтобы получить JSON с помощью jQuery, просто используйте jQuery.getJSON () . Кроме того, вы можете использовать любой другой инструмент AJAX, а затем просто выполнить eval () json, чтобы получить объект javascript.

Для обхода массива я обычно использую jQuery.each () :

var recordList = yourMethodToGetRecordListWithAjax();

jQuery.each(recordList, function()
{
    alert(this.Name); // For example
});
3 голосов
/ 06 февраля 2009

1) в скрипте php:

$return["foo"]  = "bar";
$return["blah"] = "bleg";
print json_encode($return);

2) в JavaScript:

            $.ajax({
                  type: "POST",
                  url: URL,
                  cache:false,
                  data: values,
                  dataType:'json',
                  success: function(json)
                   {
                    var foo = json.foo;
                    if (json.blah == "bleg")
                    { 
                       // do stuff 
                    }

                    }   // end success function
                });     // end ajax call
0 голосов
/ 05 февраля 2009

Вы можете вернуть JSON-кодированную строку в JS, повторив ее с Content-Type приложения / json.

См. Ответ выше для всего остального.

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