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

jQuery Discussion :

besoin de delai (alert) pour l'accomplissement du script


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Par défaut besoin de delai (alert) pour l'accomplissement du script
    Bonjour,

    Désolé pour l'intitulé pas très explicite, mais je savais pas du tout comment formuler mon problème ...

    J'ai un gros soucis depuis hier qui me rend fou au niveau d'un bout de code.

    Alors voila, en gros je récup des données d'un fichier XML que je place dans un tableau. Ensuite je boucle sur le tableau que je place dans un <select>.
    Sauf que cela fonctionne QUE si je place un alert avant (meme un simple alert('hello') fait fonctionner mon code). Si je le met pas, mon <select> ne se remplis pas du tout ... (j'ai essayé avec un console.log, mais ça fonctionne pas).

    J'ai fais plusieurs test genre, mettre la requête en async:false, sortir le for de la requête AJAX etc etc mais rien ne marche ...

    De plus juste après le each(), je boucle mon tableau en faisait un console.log, et je vois bien toutes mes valeurs ...

    Mon <select> se rempli QUE si y'a un alert avant ... Oo

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    $.ajax({
    		type: "GET",
    		dataType: "xml",
    		url: "xml/switch.xml",
    		success: function(xml) {
    			$(xml).find('switch').each(function() {
    				switch_cr.push($(this).children('nom').text());
    			});
     
    			for(var j=0; j<switch_cr.length; j++) {
    				if(switch_cr[j] != '') {
    					//alert('valeur '+j+' : ' + switch_cr[j]);
    					$('select[name=switch_cr]').append('<option value="'+switch_cr[j]+'">'+switch_cr[j]+'</option>');
    				}
    			}
    		}
    	});

    Si quelqu'un voit où est le soucis, svp sauvez moi avant que je ne devienne fou ...

    Merci d'avance

  2. #2
    Membre confirmé Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Par défaut
    Post déjà dans le forum JQuery ^^

    ensuite test avec le paramètre

    async:false

    [EDIT]
    Pardon j'ai pas lus juqu'à la fin ^^

    Es-ce que tu es en local par hasard ?

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    C'est en effet étrange que le async: false, ne solutionne pas le problème...

    Avez vous essayé en intégrant un timeout, pour vérifier si cela fonctionne? Cela pourrait-être une solution provisoire en attendant de trouver la raison du bug.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Par défaut
    Citation Envoyé par tidus_6_9_2 Voir le message
    Post déjà dans le forum JQuery ^^

    ensuite test avec le paramètre

    async:false

    [EDIT]
    Pardon j'ai pas lus juqu'à la fin ^^

    Es-ce que tu es en local par hasard ?
    Oui effectivement je travaille sous Wamp pour l'instant.
    Mais c'est bizarre parce que toute ma fonction est rempli de requête AJAX du même genre faisant exactement la même chose (récup des données d'un XML et les afficher dans un select), mais y'a que le bout de code que j'ai mis qui foire

    EDIT : j'ai essayé de mettre un timeout après mon each mais toujours pas

  5. #5
    Membre confirmé Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Par défaut
    Es ce que par hasard ton $.ajax se trouverais pas dans un autre $.ajax ?

    Car si le premier est asynchrone et que tu met le deuxième synchrone sa marche pas... soit les deux synchrones soit les deux asynchrones.

    Si c'est pas le cas, il est possible qu'en local, le XML ne passe pas... Il y a pas mal de soucis avec le XML... tu peux essayer d'envoyer un xml mais sous forme de texte et dans le type tu met xmlstring.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Par défaut
    Citation Envoyé par tidus_6_9_2 Voir le message
    Es ce que par hasard ton $.ajax se trouverais pas dans un autre $.ajax ?

    Car si le premier est asynchrone et que tu met le deuxième synchrone sa marche pas... soit les deux synchrones soit les deux asynchrones.

    Si c'est pas le cas, il est possible qu'en local, le XML ne passe pas... Il y a pas mal de soucis avec le XML... tu peux essayer d'envoyer un xml mais sous forme de texte et dans le type tu met xmlstring.
    Nop, j'ai pas de $.ajax dans d'autre $.ajax. Mais ma fonction est composé de plusieurs petite requête $.ajax qui font le même boulot. Ces autres requetes utilisent d'autres fichier XML, et ça passe très bien.

    De plus dans le code que je vous est fourni, mon tableau switch_cr se rempli bien avec les bonnes valeurs qu'il à récupérer de mon XML.

    C'est juste l'affichage dans mon <select> qui est mystique Oo

  7. #7
    Membre confirmé Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Par défaut
    dans success:function(Data)......

    Tu reçois qqch ou pas ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer valeur "alert" pour utilisation dans un script php
    Par mauyebo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/08/2008, 17h22
  2. [langage]Besoin d'aide pour debogage d'un script
    Par deadgod dans le forum Langage
    Réponses: 32
    Dernier message: 27/06/2005, 00h18
  3. J'ai besoin de votre aide pour une requête
    Par ovdz dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/05/2005, 11h42
  4. Besoin d'un conseil pour une sélection Access/fichier
    Par Oluha dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/03/2005, 19h10

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