Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调试jqueryajax函数_Jquery_Ajax_Error Handling - Fatal编程技术网

调试jqueryajax函数

调试jqueryajax函数,jquery,ajax,error-handling,Jquery,Ajax,Error Handling,JS代码: $.ajax({ type: 'POST', url: 'http://localhost/MyServiceDir/Service.asmx/Foo', contentType: 'application/json; charset=utf-8', data: jsonData, success: function (msg) { alert("good");

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);
             } 
         }
     });

我得到“未知错误”。我怎样才能弄清这件事的真相?我想知道错误到底是什么。谢谢

检查
xhr.status

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

有关详细信息,请参阅


如果您得到的是“500内部服务器错误”,那么这就是您将从ajax获得的全部信息。您必须检查应用程序或服务器日志。这可能是语法错误或库错误或其他类似的错误。

请在OneError事件中尝试:

alert(xhr.statusText)
编辑:


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

它确实给出了500(服务器错误)…但是有没有办法获得更具体的细节?或者它和我从$ajax获得的信息差不多吗?@gnomixa:你可以得到服务器发送的任何信息。查看
xhr.responseText
。谢谢,但这也太笼统了——“内部服务器错误”。我正在寻找一些更具信息性的东西,比如“传递的参数数量错误”…不确定这是否可能。编辑了我上面的答案…FireBug可能会帮助您解决FireBug的安装问题。它实际上不会安装在我的FF 8上