Отладка функции jquery ajax

Код 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);
             } 
         }
     });

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

Ответ 1

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

Подробнее см. http://www.w3.org/TR/XMLHttpRequest/#response.

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

Ответ 2

Проверьте xhr.status.

Ответ 3

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

alert(xhr.statusText)

EDIT:

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