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 :

script de verification d'une bdd avec ajax


Sujet :

JavaScript

  1. #1
    Invit�
    Invit�(e)
    Par d�faut script de verification d'une bdd avec ajax
    Bien le bonsoir a tous !

    Voici un souhait que je pense non negociable mais j'expose au cas ou si vous pouvez me contre-dire :

    Lors de l'arrivee sur le script qui s'occupe de la gestion de la bdd (verification des utilisateurs, ...), j'aimerais que ceci se passe :

    (dans le html)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <body onLoad="go_verif();">
    (dans le javascript)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //request represente la fonction qui appelle un objet XHR avec un script et un cadre (div) -> ajax
    function go_verif() {
    setTimeout("request('request/script_verif.php?verif=1','cadre1')",1200);
    setTimeout("request('request/script_verif.php?verif=2','cadre2')",1200);
    setTimeout("request('request/script_verif.php?verif=3','cadre3')",1200);
    setTimeout("request('request/script_verif.php?verif=4','cadre4')",1200);
    }
    Lorsque je fais ceci, le seul script qui se lance reellement c'est le dernier .
    J'ai bien essaye de negocier comme je pouvais en placant des alert() entre chaque request et cette fois c'est la 2 et la 3 qui se lance ...

    De ce fait, j'ai tente une autre chose (dans la fonction request) :

    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
    function is_array(input){
    	return (typeof(input) == 'object' && (input instanceof Array));
    }
     
    function request(url,cadre) {
    	if(is_array(url) && is_array(cadre)
    	&& url.length == cadre.length) {
    		var i = 0;
    		for(i = 0; i < url.length; i++) {
    			XHR = getXHR();
    			XHR.open("GET",url[i], true);
    			XHR.onreadystatechange = function attente() {
    				if(XHR.readyState == 4) 
    					document.getElementById(cadre[i]).innerHTML = XHR.responseText;
    			}
    			XHR.send(null);
    		}
    		return;
    	}
    }
    Haha, rien du tout !

    Donc ma question reste comment negocier ce que je souhaite c'est-a-dire les etapes de verifications qui se lancent les unes apres les autres sans que personne ne touche a rien.

    J'espere avoir ete assez explicite et attend vos suggestions .

    @+.
    Derni�re modification par Jumano ; 02/12/2008 � 21h19. Motif: Merci d'utiliser les balises [CODE] (bouton #)

  2. #2
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    bizarre ces 4 appels � une m�me adresse avec juste un param�tre incr�ment�; tu dois pouvoir faire plus simple non?

    1) les param�tres correspondent � quoi? (dans le html, dans la db)
    2) pourquoi veux-tu les �valuer les uns apr�s les autres et dans cet ordre?

  3. #3
    Invit�
    Invit�(e)
    Par d�faut
    En fait, peu importait les url appellees et les id de div nommes, le souci est que je n'arrivait a lancer 4 etapes (etapes "ajaxees") de maniere independantes.

    C'est tres moche mais j'ai une solution (vous allez avoir mal aux yeux !) :

    fonction request :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    urls = url.split(":::::");
    	cadres = cadre.split(":::::");
     
    	XHR1 = getXHR();
    	XHR1.open("GET",urls[0], true);
    	XHR1.onreadystatechange = function attente() {
    	if(XHR1.readyState == 4) 
    		document.getElementById(cadres[0]).innerHTML = XHR1.responseText;
    	}
    	XHR1.send(null);
     
    	XHR2 = getXHR();
    	XHR2.open("GET",urls[1], true);
    	XHR2.onreadystatechange = function attente() {
    	if(XHR2.readyState == 4) 
    		document.getElementById(cadres[1]).innerHTML = XHR2.responseText;
    	}
    	XHR2.send(null);
     
    	XHR3 = getXHR();
    	XHR3.open("GET",urls[2], true);
    	XHR3.onreadystatechange = function attente() {
    	if(XHR3.readyState == 4) 
    		document.getElementById(cadres[2]).innerHTML = XHR3.responseText;
    	}
    	XHR3.send(null);
     
    	XHR4 = getXHR();
    	XHR4.open("GET",urls[3], true);
    	XHR4.onreadystatechange = function attente() {
    	if(XHR4.readyState == 4) 
    		document.getElementById(cadres[3]).innerHTML = XHR4.responseText;
    	}
    	XHR4.send(null);
     
    	return;
    Donc vous avez repere que ce n'est pas mis sous forme d'un algorithme mais je n'arrive pas a le faire car il faut (je pense obligatoirement) une entite XHR differente pour chaque appel ajax (j'ai essaye avec un tableau de XHR mais sans succes ).

    Du coup, l'appel devient (c'est monstrueux aussi) :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    multi_request('request/script_verif.php?verif=1:::::request/script_verif.php?verif=2:::::request/script_verif.php?verif=3:::::request/script_verif.php?verif=4','assoc_sspj_pays:::::gestion_admin:::::assoc_fact_fiche:::::assoc_pays_taxe');
    Ce n'est pas ce que j'ai pu programme de plus beau mais en tout cas comme rustine de secours cela fonctionne bien.

    Si vous avez plus joli a proposer j'en serais ravi.

    En outre, le souci est resolu.

    @+.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [AJAX] Insertion dans une BDD avec code Ajax/PHP
    Par cobra85 dans le forum jQuery
    R�ponses: 5
    Dernier message: 17/10/2013, 20h35
  2. R�ponses: 0
    Dernier message: 04/02/2011, 02h43
  3. [AJAX] V�rifier des donn�es dans une BDD avec AJAX
    Par mwech dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 22/10/2008, 15h13
  4. D�ployer une BDD avec son appli
    Par Albertolino dans le forum D�cisions SGBD
    R�ponses: 9
    Dernier message: 11/03/2004, 18h08

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