2010-02-05 3 views
18

У меня есть следующий фрагмент кода, который я просто попробовать, запустив в поджигательJQuery Как узнать, что такое ошибка ajax?

$.ajax({ 
    type:"POST", 
    url:"http://mpdomain/WebService.asmx/Operation", 
    data: "{'parameter1': '44906'}", 
    contentType: "application/json;charset=utf-8", 
    dataType: "json", 
    success: function(data) { alert("succsess") }, 
    error: function(e, ts, et) { alert(ts) } 
}) 

В теории это должно работать. Однако обработчик ошибок запускается, а ts просто устанавливается на «ошибка». Как получить более подробную информацию о том, что пошло не так?

+2

Откройте Firebug или отладчик IE8 и положите точку останова на ваш 'alert (ts)'. Изучите параметры 'e, ts, et', чтобы узнать, где хранится информация, которую вы хотите сохранить. –

ответ

30
$.ajax({ 
    type:"POST", 
    url:"http://mpdomain/WebService.asmx/Operation", 
    data: "{'parameter1': '44906'}", 
    contentType: "application/json;charset=utf-8", 
    dataType: "json", 
    success: function(data) { alert("succsess") }, 
    error: function(ts) { alert(ts.responseText) } 
}) 
+5

Хмм - это пусто. Есть идеи? –

+1

hmm ... try responseStatus – ozsenegal

+3

почему оповещения, они никому не полезны. использовать отладчик; или console.dir. Все, кроме предупреждений! – redsquare

4

Сообщение об ошибке jQuery дает вам не очень описательную информацию. Это может быть либо «тайм-аут», «ошибка», «немодифицированный» или «parsererror». http://api.jquery.com/jQuery.ajax/, так что вы можете заключить, что это не таймаут, а не измененная или синтаксическая ошибка, которую вы получаете.

Убедитесь, что в Firebug вы видите, что запрос установлен на правильный адрес и установлены правильные данные. Вы также можете просмотреть ответ, так что, если у вас также есть доступ к серверному коду, быстрый и грязный способ - просто отозвать то, что происходит на стороне сервера, и просмотреть ответ с помощью Firebug.

Также я не уверен, что это проблема, но попытайтесь установить данные в {parameter1: 44906} (в основном удалите кавычки, чтобы вы проходили объект, а не строку).

Смежные вопросы