Отладка Ajax-функции Jquery - PullRequest
       7

Отладка Ajax-функции Jquery

11 голосов
/ 18 января 2011

JS код:

$.ajax({


        type: 'POST',
         url: 'http://localhost/MyServiceDir/Service.asmx/Foo',
         contentType: 'application/json; charset=utf-8',
         data: jsonData,
         success: function (msg) {
             alert("good");
         },
         error: function (xhr, status) {
              switch (status) {
                 case 404:
                     alert('File not found');
                     break;
                 case 500:
                     alert('Server error');
                     break;
                 case 0:
                     alert('Request aborted');
                     break;
                 default:
                     alert('Unknown error ' + status);
             } 
         }
     });

Я получаю "неизвестная ошибка". Как мне добраться до сути этого? Я хотел бы знать, что ошибка на самом деле. Спасибо!

Ответы [ 3 ]

9 голосов
/ 18 января 2011

Параметр «status» включает только причину сбоя - время ожидания, ошибка и т. Д. Чтобы получить код состояния, необходимо проверить объект ответа: xhr.status

См. http://www.w3.org/TR/XMLHttpRequest/#response для подробностей.

Если вы получаете «500 Internal Server Error», то - это все, что вы получите от ajax.Вам нужно будет проверить логи вашего приложения или сервера.Это может быть синтаксическая ошибка или ошибка библиотеки или что-то еще в этом духе.

4 голосов
/ 18 января 2011

Чек xhr.status.

3 голосов
/ 18 января 2011

Попробуйте это в событии onerror:

alert(xhr.statusText)

РЕДАКТИРОВАТЬ:

Я думаю, что вам лучше всего установить плагин FireBug на Firefox.Это позволит вам увидеть вызовы ajax (для этого включите вкладку «консоль»), ответы и сообщения об ошибках.Надеюсь, вы сможете получить необходимую информацию таким образом.Это всегда был мой метод выбора для отладки вызовов ajax

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