аномальное поведение успеха функции jQuery ajax - PullRequest
0 голосов
/ 25 июня 2011

Я написал следующий код:

$.ajax({ url: link + "?" + Math.random(), success: function (response) {
            alert(response);
}});

Хотя предупреждение дает мне то, что responseText в идеале должно дать, когда я использую из стеклянной рыбы.Но когда я загрузил точно такой же файл в VS, к моему ужасу, я получил [Object] в качестве вывода оповещения.Что не так?

Кстати, я возвращаю XML, а не JSON.

Ответы [ 2 ]

1 голос
/ 25 июня 2011

jquery по умолчанию выполнит «интеллектуальное предположение» для вашего типа данных и передаст функции успеха ответ отформатированный . Так, если, например, ваш URL-адрес предоставляет данные JSON, функция успеха будет передана проанализированному объекту JSON, а не просто строке. Так alert({...}) покажет [object Object]

Если вы хотите только текстовый вывод, используйте:

$.ajax({
   url: link + "?" + Math.random(),
   success: function (response) { alert(response); },
   dataType: 'text'
});
0 голосов
/ 25 июня 2011

Я подозреваю, что во втором случае возвращается JSON, вам нужно сделать:

$.ajax({ url: link + "?" + Math.random(), success: function (response) {
            $(response).each(function() {
/*do something with data, firefox with firebug allows you to do console.log($this) which will show you the data in a window below the browser, Chrome also has a similar feature, alerting in an iterator is never a good idea.*/
})
}});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...