2017-07-07 44 views
0

J'ai une demande prototypejs AJAX comme celui-ci (code tiers):Comment simuler/tester le gestionnaire d'exception AJAX?

new Ajax.Request(url, 
{ 
    method: 'get', 
    onException: function(transport, e) 
    { 
     //... 
    }, 
    onComplete: function(transport) 
    { 
     //... 
    } 
}); 

et que vous souhaitez tester le comportement de onException. J'ai le contrôle sur le côté serveur, donc je peux changer la réponse. Mais le simple retour d'un statut 500 ne fait pas l'affaire, il est toujours géré par onComplete.

Alors, quelles sont les possibilités pour déclencher le gestionnaire onException?

Répondre

1

onException est seulement tiré quand il y avait une exception tout en envoyant d'autres callbacks, voir here, dans callbacks réponse Ajax. Donc, je ne suis pas sûr qu'il existe un moyen de le tester.

EDIT:

Je read (in french, didn't find anything in english) que si vous faites une demande interdomaine il déclenche l'évent.

+0

J'ai réussi à faire une exception à la commande 'onComplete', merci pour l'indice! –

+0

La définition d'un rappel 'onFailure' pourrait être un moyen d'aller ici, donc vous n'avez pas besoin de tester le succès de' onComplete'. Le rappel 'onComplete' est renvoyé quel que soit le résultat de la requête au serveur. Si vous avez une branche que vous voulez seulement suivre s'il n'y a pas d'erreur, placez-la dans 'onSuccess' plutôt que dans' onComplete'. – Walter