|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 853 ![]() |
bonjour à tous,
(hey oui, même moi je peux avoir besoin d'aide ! je développe un site en local sur mon pc qui exécute de temps à autre des appels sur ma base de données en ligne qui renvoit des scripts au format JS. comme cela est considéré comme du cross-domain, j'utilise la fonction "ajax" de jquery qui n'effectue pas un appel "ajax" au sens traditionnel du terme mais qui crée simplement un object <script> en l'attachant au head html de ma page. bref, le problème étant que je voudrais gérer les erreurs lors du chargements. il existe bien les options "error" et "succes" dans la fonction "ajax" de jQuery mais avec mes testes, ça ne semble pas fonctionner.(ne voulant pas admettre que j'ai pu faire une erreur, je présume que ces optinos ne sont valables que pour les appels ajax conventionnels : xhr). j'essaie donc de résoudre mon problème à l'aide de timer(setTimeout) que j'annule en cas de succès avec l'option "complete" (qui correspond, il me semble, au "onload" du script). du genre : Code js :
et dans mon fichier js venant de mon serveur, j'annule le cas de "bad réponse" (en cas de page 404 ou d'erreur sql/php par exemple). Code js :
mon problème étant, je voudrais pouvoir "annuler" le chargement de mon script une fois le délai dépassé (3sec dans mon exemple) .. je me dis qu'en js "normal" je n'aurai qu'a faire un "removeChild" de mon script(à condition qu'il soit bien considéré comme "attaché" au head même si son "onload" n'est pas terminé.). donc je voudrais savoir s'il était possible de récupérer mon "élement" script depuis jQuery ... ou si j'avais plutôt intérêt à tout recoder en JS traditionnel ? ou si vous avez une autre solution à proposer ? merci d'avance pour vos nombreuses de réponses. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
T'as regardé du côté de jQuery 1.5 ?
http://www.developpez.net/forums/d10...s-asynchrones/ Avec le nouveau module Ajax, tu vas créer un objet Deferred, Ce qui te permet, en parallèle d'avoir un timer qui lui déclenchera le "fail" de l'appel asynchrone et du coup l'annulation du chargement. Puisqu'une fois que l'objet Deferred dans le statut soit réussi, soit échoué ne peux plus changer d'état et tout retour en force d'un résultat sera bêtement ignoré. A mon avis, c'est sur cette piste que tu dois travailler.
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
|
10
|
|
|
#3 | |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 853 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com