IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] arreter l'exécution d'une fonction Ajax


Sujet :

AJAX

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut [AJAX] arreter l'exécution d'une fonction Ajax
    Salut les gars ,
    J'utilise Ajax tags dans des jsp , mon problème est d'effectuer un test avant le lancement de la fonction ajax , mais le truc que j'arrive pas à stoper l'exécution du code Ajax si mon test est faus , je vous donne l'exemple

    voilà mon jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <input type="button" onclick="javascript:setCountrySelection();//nop/" class="searchLink" id="searchLink" value="Search">				
     
    <ajax:htmlContent
      baseUrl="${pageContext.request.contextPath}/POHtmlcontent.view"
      sourceClass="searchLink"
      target="searchResult"
      preFunction="initProgressSearch"
      postFunction="resetProgressSearch"
      errorFunction="reportError"
      parameters="section=displayResultForPO,brand={brand},product={product},company={company},searchCountryList={countryPricingSelection},pricetype={priceTypeIdList},ertype={ERType},pricestatus={pStatus},erperiod={ERPeriod},currency={submitedCurrency},channel={channel},date={periodDate},records={record},datamode={selectedDatamode},datatype={selectedDatatype}"
      />
    et voilà la fonction js prefunction de la tag ajax :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function initProgressSearch() {
    	if(checkMandatoryDate(document.getElementById('periodDate'), true )){
    		show('globalWaiting');
    		postCheckedPriceType();
    		document.getElementById('searchLink').disabled = true;
    		Element.show('progressMsgSearch');
    	} else {
    	return false;	    
    	}
     }
    J'ai tout essayé mais ça marche pas toujours
    est ce qu'il y a une idée

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    l'objet XMLHttpRequest possède une méthode abort()Par contre, dans ton cas, je ne sais pas comment tu peux l'utiliser

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut
    Merci pour te réponse ,
    moi j'utilise pas Ajax avec du javascript c'est avec ajaxtags, et à priori il propose pas une méthode pour interompre l'exécution,

    J'ai eu une idée pour détourner le problème, et c'est en fait, effectuer le test et si c'est faux desactiver le bouton et comme ça on évite de passer par l'evenement, mais cette soution est impossible dans mon cas pke tout simplement ne voulait pas cette solution ,

    Au secours SVP

  4. #4
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    A priori, c'est un probleme avec ta librairie ajaxtag pour lequel on ne peut pas trop t'aider puisque la décision d'effectuer ou non la requete dépend de la facon dont est codé ton tag

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut
    J'ai remarqué que si on provoque une erreur javascript , l'exécution de la methode ajax s'arrete , autrement on peut pas provoquer un evenemnt pareil à l'erreur avec javascript mais sans biensur avoir une erreur , ou autre chose qui a les effets d'uen erreur js !!!

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par amine84 Voir le message
    J'ai remarqué que si on provoque une erreur javascript , l'exécution de la methode ajax s'arrete ,
    Bine sûr, puisque qu'Ajax est lié à l'exécution d'un code JavaScript.
    Or une erreur plante le code JS de toute la page (donc celui effectuant le traitement Ajax).

    Mais planter ton appli via un bug volontaire pour interrompre l'exécution d'un traitement est quand même un peu ... osé

    Cherche un peu plus du côté ajaxtags ...

    Sinon, peut-être en écrasant (en réutilisant) ton objet xhr ...

    EDIT : ou en changeant la logique de ton traitement Ajax : en modifiant le mode de réponse, pour ne plus avoir à interrompre le traitement quand ton test est faux ...
    Bref, en prenant le problème en amont

    A+

  7. #7
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut
    Merci pour les suggestions,
    mais apparement il y a pas une solution, parceque coté Ajaxtags j'ai beaucoup cherché et il y a pas non plus une solution, mais franchement c tellement bizarre parceque c'est très recurent qu'on fait un test avant de déclencher une action Ajax, mais bon ....

  8. #8
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    En meme temps, quand tu mets un tag (html par exemple) dans ta page, il n'est pas censé ne pas être exécuté (sous certaines conditions) ...

    Pourquoi tu ne te passes pas de ton ajaxtag tout simplement?

  9. #9
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut
    Excuse moi mais j'ai pas bien compris l'idée , comment je vais me depésser de l'Ajax tag

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    En utilisant Ajax dans sa version la plus élémentaire

    A+

  11. #11
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut
    Je dois travailler avec seulement AjaxtTags !!

    merci

  12. #12
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Sauf que ce que tu cherches a faire ne correspond pas a l'utilisation de ta librairie, donc t'es bien avancé...

  13. #13
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par amine84 Voir le message
    Je dois travailler avec seulement AjaxtTags !!
    Explique à celui/celle/ceux qui t'imposent AjaxTags que tu es dépendante des limites de l'outil ...
    Et si la contrainte demeure, il faut leur expliquer que cette fonctionnalité n'est pas réalisable avec les contraintes techniques qu'il/elle/ils t'ont fixées

    Il ne suffit pas de décider pour "faire faire". Encore faut-il que la demande soit réaliste

    A+

  14. #14
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 160
    Par défaut
    Merci beaucoup les gars,
    j'ai essayé de detourner le problème, en fait je laisse l'action ajax et puis je fais le test , si c'est faux donc je vide le résultat ... c pas vraiment bien mais je compte que le résultat de retour est généralment rapide,

    mais c dommage qu'on a pas trouvé une meilleure solution, et surement qu'il y a un moyen pour arreter l'execution d'une action Ajax, mais il faut fouiller les fichier js que cette librairie fournis pour trouver le non de la variable,

    en tout cas merci tout le monde

Discussions similaires

  1. [AJAX] Stopper l'éxécution d'une fonction AJAX
    Par crazymonkey dans le forum AJAX
    Réponses: 2
    Dernier message: 13/08/2009, 14h16
  2. [AJAX] passer un argument a une fonction de callback ?
    Par mld_webcom2d dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 11/02/2009, 17h05
  3. [AJAX] [XAJAX] Lancer une fonction JS dans une fonction AJAX
    Par sixieme-sens dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/12/2008, 15h26
  4. [AJAX] valider un formulaire avec une fonction ajax
    Par freums dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/02/2008, 11h34
  5. [AJAX] Envoi ou non d'un formulaire avec une fonction AJAX
    Par ohhh.gringo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/05/2007, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo