jquery ajax ignore 500 erreur d'état

Je suis en train de faire quelques demandes pour une Application application Moteur, les essais dans Chrome. Alors que je peux voir dans la console javascript que certains appels de 500 erreur de serveur, je n'arrive pas à trouver de toute façon de saisir cette erreur dans mon code jQuery malgré la lecture d'un certain nombre de similaire à ce fils. Je comprends qu'il indique une erreur du côté serveur, mais je voudrais encore être en mesure de capturer une telle erreur de ma javascript.

J'ai besoin de la capture de l'erreur, de sorte que je peux compter le nombre de réponses (réussies ou non) et de déclencher une autre fonction lors de l'appel de réponses ont été reçues.

Chrome sortie de la console:

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

Mon appel:

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

J'ai essayé quelques-uns des éléments suivants:
Ajout:

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

à l'appel.

À l'aide de:

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

Ce que quelqu'un a une suggestion quant à la façon dont j'ai pu reprendre la réponse de 500?

Merci
Oli

Mise à JOUR:

Sur la base des réponses, mon jquery code semble correct, mais pour quelque raison il ne serait d'attraper certaines de 500 réponses reçues à partir de mon application. C'est peut-être un problème avec App Engine renvoie l'erreur(je ne sais pas beaucoup de choses à ce sujet), ou comment jquery gère les erreurs avec jsonp - ce point est discuté brièvement dans le dernier paragraphe de cette article.

J'ai eu ce travail en utilisant jquery-isonp qui a attiré tous les 500 statut de la levée par l'application.

Ne devrait-elle pas être statusCode au lieu de status?

OriginalL'auteur oli | 2011-03-24