Используете jQuery и JSON с AJAX responseText? - PullRequest
4 голосов
/ 12 июня 2009

Хорошо, я немного новичок в том, что касается jQuery и json. Если я использую json в качестве возвращаемого типа, могу ли я получить responseText из объекта XMLHttpRequest?

вот код, который я использую:

json response: {"clients": []}

$.ajax({
        type: "POST",
        url: "/myurl/whatever.php",
        data: myData,
        dataType: "json",

        success: function(msg){
            status.html(msg[0]);
        },
        error: function(msg) {
                status.html("Error: " + msg[0]);
        }

        });

правильно ли использовать msg [0], если я хочу вывести ответ json или я что-то упустил?

как мне по-прежнему использовать вышеуказанный код с XMLHttpRequest для получения статуса, responseText и т. Д.

спасибо, все!

Ответы [ 2 ]

6 голосов
/ 12 июня 2009

Насколько я знаю, вызов $ .ajax возвращает объект XHR, и из него может быть извлечен responseText, например ::

var xhr = $.ajax( {
                        url:' someInfo.php',
                        data: 'which=squirrels',
                        asynch: true
                } );

var resp = xhr.responseText;

Текст ответа будет содержать строку json, которую необходимо преобразовать в какой-либо объект.

Если вы хотите использовать ответ как объект json непосредственно в вашей success: функции, сделайте так, как предложено @cloudhead, и используйте msg . DataType: "json" в ваших опциях позаботится о преобразовании за вас.

1 голос
/ 12 июня 2009

Если вы используете json, вы получите объект json, а не объект XML. Вы можете вывести его напрямую, не используя [0].

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