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

JavaScript Discussion :

Gérer caractères asynchrone de JavaScript


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut Gérer caractères asynchrone de JavaScript
    Bonjour à tous et toutes.
    s'il vous plait je suis confronté ce jour à un problème que je ne compte pas éviter pour la seconde fois .
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    for (var i=0; i<tab_length; i++) { 
    			//alert(tableau[i]);
    			destinataire=tableau[i]; // i va etre utilisé comme index ici on affecte le numero en place au destinataire  
     
     
                if(destinataire.length == 9){
                    // insertion dans le detail des transactions
     
                    var xhr = getXhr()
                    console.log(destinataire);
     
                    // Rechargeons les parametre de ce numero de telephone
     
                    xhr.open("POST","../ss/recherche_variable.php",true);
                    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // permet l'encodage des POST
                    xhr.send("&id_ligne=" + i ); // On définit les variables et leurs valeurs
     
                    xhr.onreadystatechange = function(){                        
                                        if(xhr.readyState == 4 && xhr.status == 200){
                                            myArray=JSON.parse($.trim(xhr.responseText));
                                            console.log(i);
                                            console.log(myArray);
                                            console.log(xhr.readyState);
                                            console.log(xhr.status == 200);
                                        }
                    }    
                    // Fin
    dans la console j'ai bien tous les numero de telephone .

    dans les appels du fichier recherche_variable.php toutes les valeurs correspondant aux differents numero de telephone y sont .

    mais console.log(myArray); m'affiche uniquement les meme valeurs repeté par le nombre de fois de numero de telephone .

    pour la suite j'ai fortement besoin que ces valeurs change en fonction de la valeur des index de numero de telephone.
    je pense que ceci est du au caractere asychrone de java script , comment le force de finir ce traitement avant de passer au prochain.

    une fois de plus Merci
    www.etech-keys.com
    https://sms.etech-keys.com

    le boiteux qui suit le chemin devance le coureur qui s'en écarte .

  2. #2
    Membre actif
    Inscrit en
    Août 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 191
    Points : 263
    Points
    263
    Par défaut
    Bonjour,

    Je pense que ça pourrait résoudre ton problème en même temps qu'optimiser ton code.

    Si tu supprime ta boucle et que tu passe ton tableau sérializé à ton script php tu n'as plus qu'un appel et qu'une réponse et donc plus de soucis pour moi.

  3. #3
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    Merci showie,
    mais le veritable probleme c'est que ce fichier est utilisé par d'autre processus , je ne souhaite pas le modifier.
    en plus c'est la seconde fois que je suis confronté aux requettes synchrones , elle n'existe plus ?
    www.etech-keys.com
    https://sms.etech-keys.com

    le boiteux qui suit le chemin devance le coureur qui s'en écarte .

  4. #4
    Membre actif
    Inscrit en
    Août 2006
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 191
    Points : 263
    Points
    263
    Par défaut
    Re,

    C'est vrai excuse moi je n'ai pas répondu à ta question mais j'ai plutôt chercher à optimiser (et je recommande vivement de réécrire ce bout de code si le nombre de destinataire peut être élevé).

    Pour user du mode synchrone de XHR il faut passer FALSE en 3ème paramètre de xhr.open.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.open("POST","../ss/recherche_variable.php",false);

  5. #5
    Membre averti Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Points : 321
    Points
    321
    Par défaut
    Bonjour showie,
    en dehors de passer le parametre à false , il faut aussi enlever au final voici ce que tu as .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                    request.open("POST","../ss/recherche_variable.php",false);
                    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // permet l'encodage des POST
                    request.send("&id_ligne=" +i ); // On définit les variables et leurs valeurs
                    if (request.status === 200) {
                        myArray=JSON.parse($.trim(request.responseText));
                        console.log(myArray);
                    }
    Bonne journée
    www.etech-keys.com
    https://sms.etech-keys.com

    le boiteux qui suit le chemin devance le coureur qui s'en écarte .

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/03/2016, 10h05
  2. Gérer un panier achat Javascript
    Par marp88 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/08/2014, 15h38
  3. déclencher un postback asynchrone en javascript
    Par cyberchand dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/08/2007, 11h29
  4. [javascript] générer un code de 6 caractère alphanumérique
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/09/2005, 17h03
  5. Limiter le nbr de caractères d'un textarea en JavaScript
    Par yoyot dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/02/2005, 12h06

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