jquery ajax忽略500状态错误

前端之家收集整理的这篇文章主要介绍了jquery ajax忽略500状态错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在App Engine应用中提供一些GET请求,在Chrome中进行测试.虽然我可以在 javascript控制台看到一些调用导致一个500服务器错误,我似乎无法找到在我的jQuery代码中捕获这个错误,尽管阅读了许多类似的SO线程.我明白它表示服务器端错误,但我仍然希望能够从我的javascript中捕获这样的错误.

我需要捕获错误,以便在收到所有呼叫响应时,可以对响应数(成功或否定)进行计数,并触发另一个功能.

Chrome控制台输出

GET http://myapp.com/api?callback=jQuery12345&params=restOfParams 500 (Internal Server Error)

我的电话:

function makeCall() {
    var count = 0;
    var alldata = $('#inputset').val();
    var rows = alldata.split('\n');
    var countmatch = rows.length;
    for (i=0;i<rows.length;i++) {
      data["param"] = rows[i]["val"];
      $.ajax({
              url: apiUrl,type: 'GET',data: data,dataType: 'jsonp',error: function(){
                  alert('Error loading document');
                  count +=1;
              },success: function(responseJson) {
                            count +=1;
                            var res = responseJson.results;
                            if (count == countmatch) {
                              allDoneCallback(res);
                            }
                        },});
    }
}

我尝试了以下一些:
添加

statusCode: {500: function() {alert('err');}}

来电

使用:

$().ready(function(){
     $.ajaxSetup({
       error:function(x,e) {
             if(x.status==500) {
               alert('Internel Server Error.');
             }
           }
      });
   });

有人会有人建议如何抓住500响应?

谢谢
奥利

更新:

基于响应,我的jquery代码似乎是正确的,但由于某种原因,它只会捕获从我的应用程序收到的一些500个响应.这可能是App Engine如何返回错误(我不太了解这个),或jQuery如何处理jsonp错误的问题 – 这一点在this文章的最后一节中进行了简要的讨论.

我通过使用jquery-isonp捕获了这个应用程序抛出的所有500状态的工作.

解决方法

它看起来不像你正在使用jQuery的document.ready绑定. $().ready(…)版本已被弃用或多或少.尝试其中一个:
$(document).ready(function() {
    $.ajaxSetup({
        error: function(x,e) {
            if (x.status == 500) {
                alert('Internel Server Error.');
            }
        }
    });
});

the shorthand

$(function() {
    $.ajaxSetup({
        error: function(x,e) {
            if (x.status == 500) {
                alert('Internel Server Error.');
            }
        }
    });
});
原文链接:https://www.f2er.com/jquery/179817.html

猜你在找的jQuery相关文章