2009-10-04 5 views
0

i obtenu suivant une partie de l'une des fonctionsun problème de gestion des exceptions lors de l'envoi des données par ajax avec jQuery

 if(continiueSend) 
     { 
      $.ajax 
      ({ 
       type: "POST", 
       url: "mailer.php", 
       data: "somestestdata", 
       timeout: 5000, 
       success: function(a) 
       { 
        alert(a); 
       }, 
       error: function (xhr, ajaxOptions, thrownError) 
       { 
        alert(xhr.status); 
        alert(thrownError); 
       }  
      }); 
     } 

Et il fonctionne très bien lorsque le serveur est ok, les données demandées sont envoyées en moins de 100 ms, dans le cas où Si le serveur est occupé

Lorsque l'heure d'envoi des données dépasse la limite définie avec le délai d'attente "timeout:" indiqué dans "error:" isn 't tiré, et dans la console apparaît information suivante

uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://127.0.0.1/site/index.php?article=2 :: anonymous :: line 252" data: no]

La ligne 252 est la première ligne du code mentionné. J'ai essayé de mettre du code à l'intérieur des parenthèses IF dans try ... catch mais sans résultat.

Comment puis-je détecter correctement cette exception pour la gérer comme je le souhaite?

MTH

Répondre

1

Êtes-vous que le rappel d'erreur est pas réellement appelé? Placez un bloc try-catch dans la fonction d'erreur. Rappelez-vous, cela s'appelle de manière asynchrone. Un bloc try-catch en dehors de cela ne fera rien. Probablement l'exception est provoquée lorsque vous essayez de lire l'erreur.

+0

Généralement aussi évident que le fait que la terre est ronde (presque ronde: P), de toute façon, merci pour votre aide! – MoreThanChaos

Questions connexes