s'avère que c'était un artefact d'un bug de Firebug. La demande AJAX a été annulée, mais Firebug continuait de le signaler comme actif. Détails Ici .
J'ai longtemps exécuté XMLHTTPQUESTS et je dois être capable de les abandonner dans certaines circonstances. P>
I Configurez la demande de manière normale: p> plus tard, je veux abandonner cette demande, semble simple: p> Quand je regarde dans Firebug, je le vois est toujours en cours d'exécution ... p> i console.log dehors la valeur d'Ajax Juste avant d'essayer de l'abandonner, il confirme que sa valeur est et XMLHTTPRequête (avec un prérey-est de 0). P> Y a-t-il des restrictions sur la manière et quand Abort () incendie sur un XMLHTTPQUEST? P> P>
4 Réponses :
appeler Abort réinitialise l'objet; Le gestionnaire d'événements OnReadyStatechange est supprimé et le préreyStat est remplacé par 0 (inaitalisé). P> blockQuote>
Je ne pense pas que cela annule la demande elle-même, elle ignore simplement toute réponse (manipulation du gestionnaire d'événements) - mais je ne l'ai pas encore essayé pour le moment. P>
Mais cela vous permettra de réutiliser l'objet - peu importe si le navigateur a toujours du fil travaillant avec l'ancienne demande. P>
Aah !. Le problème est que je me retrouve avec trop de demandes HTTP et que le navigateur est suspendu, alors je dois le mettre fin à ...
La citation provient de la docu Microsoft Javascript. De cela, je suppose que cela dépend fortement de la mise en œuvre du navigateur Qu'est-ce qui se passe exactement. La plupart des navigateurs essaieront probablement de finir gracieusement - ainsi que les connexions pourraient toujours être debout pendant un certain temps jusqu'à ce qu'ils soient enfin fermés - mais c'est juste une supposition.
Jetez un coup d'œil à la jQuery AJAX File d'attente / cache / avort / manager de bloc / A >, peut-être que cela peut vous aider à vous empêcher de vous prévenir la situation actuelle. P>
Vous pouvez regarder le JSONP-Plugin Avec ce plugin, vous avez la possibilité d'abandonner manuellement la demande. Jetez également un coup d'œil à "Une note de garde" chez IBM Bibliothèque: p>
Tout d'abord, il n'y a pas de manipulation d'erreur pour les appels JSONP. Si l'insertion de script dynamique fonctionne, vous êtes appelé; Sinon, rien ne se passe. Cela échoue simplement silencieusement. Par exemple, vous ne pouvez pas attraper une erreur 404 du serveur. Vous pouvez non plus annuler ou redémarrer la demande. P> blockQuote>
Un autre excellent article sur la manipulation de cela se trouve ici: http://www.bennadel.com/blog/1500-catching-timeout-errors-with-jquery-powered-ajax.htm . P>
Je n'ai fait simplement convertit ma demande .Getjson à .ajax et a ajouté la manipulation du délai d'attente / des erreurs. p>
merci! p>