问题 调试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);
             } 
         }
     });

我收到“未知错误错误”。我如何深入了解这一点?我想知道错误究竟是什么。谢谢!


5700
2018-01-18 19:04


起源



答案:


“status”参数仅包括失败的原因 - 超时,错误等...要获取状态代码,您需要检查响应对象: xhr.status

看到 http://www.w3.org/TR/XMLHttpRequest/#response 详情。

如果您收到“500内部服务器错误”  所有你将从ajax获得。您必须检查您的应用程序或服务器日志。这可能是语法错误或库错误或沿着这些行的其他内容。


9
2018-01-18 19:09





检查 xhr.status


4
2018-01-18 19:07



它确实给出500(服务器错误)......但是有没有办法获得更具体的细节?或者它几乎就像我从$ ajax获得的信息一样? - sarsnake
@gnomixa:您可以获得服务器发送的任何内容。看着 xhr.responseText。 - SLaks
@gnomixa,见: w3.org/TR/XMLHttpRequest/#response - Ben Lee


答案:


“status”参数仅包括失败的原因 - 超时,错误等...要获取状态代码,您需要检查响应对象: xhr.status

看到 http://www.w3.org/TR/XMLHttpRequest/#response 详情。

如果您收到“500内部服务器错误”  所有你将从ajax获得。您必须检查您的应用程序或服务器日志。这可能是语法错误或库错误或沿着这些行的其他内容。


9
2018-01-18 19:09





检查 xhr.status


4
2018-01-18 19:07



它确实给出500(服务器错误)......但是有没有办法获得更具体的细节?或者它几乎就像我从$ ajax获得的信息一样? - sarsnake
@gnomixa:您可以获得服务器发送的任何内容。看着 xhr.responseText。 - SLaks
@gnomixa,见: w3.org/TR/XMLHttpRequest/#response - Ben Lee


在onerror事件中试试这个:

alert(xhr.statusText)

编辑: 

我认为你最好的选择是在Firefox上安装FireBug插件。这将允许您查看ajax调用(为此启用“控制台”选项卡),响应和错误消息。希望您能够以这种方式获得所需的信息。这一直是我调试ajax调用的首选方法


3
2018-01-18 19:09



谢谢,但这也太通用 - “内部服务器错误”。我正在寻找更具信息性的内容,例如“错误的参数数量”......不确定是否可行。 - sarsnake
编辑上面的答案...... FireBug可以帮助你 - stephen776
FireBug安装错误。它实际上不会安装在我的FF 8上 - sarsnake