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 :

Requête Ajax qui en appelle une autre en cas de Success


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Par défaut Requête Ajax qui en appelle une autre en cas de Success
    Bonjour a tous et a toutes,
    j'ai une requette ajax qui fait une recherche dans la base de donné via un fichier php et par la suite appel une seconde requette ajax
    la premier appel parfaitement la seconde mais qui trainne vraiment à l'execution pour un tableau de 05 à 10 ligne je n'ai pas de probleme mais à plus de 100 je commence a a voir des perte du genre time out .
    voici le script que j'utilise .
    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
      $.ajax({
                            url: "../ss/recherche_variable.php",
                            type: "POST",
                            async: true, // Mode synchrone
                            data: ({
                            id_ligne:(i+1),
                            //format: $("#format").val()
                            }),
     
                            dataType: "application/x-www-form-urlencoded",
                            complete: function(data){
     
                                         myArray=JSON.parse($.trim(data.responseText));
     
                                        mes=replaceVars(myArray); // Reformulons le test en question en fonction du numero et des parametre choisi.
     
     
                                             $.ajax({
                                                    url : '../ss/envoyer_mes_simple.php',
                                                    type :'POST',
                                                    async: true, // Mode asynchrone
                                                    data: ({ "s_id":s_id,"dest":dest,"mes":mes,"nombre_mes":nombre_mes }),
                                                    dataType: "application/x-www-form-urlencoded",
                                                    complete : function(resultat, statut){
                                                               // nombre_retour=nombre_retour+1;
                                                                //waitingDialog.mes('Envoi...'+nombre_retour+' sur '+tab_length);                                         
                                                                //if(nombre_retour+1>=tab_length) setTimeout(location.reload.bind(location, true), 1000); 
                                                    },
                                                    success : function(code_html, statut){
                                                                console.log(statut);
                                                    },
                                                    error : function(resultat, statut, erreur){  
                                                    },
                                                });
     
                            }
                    });
    je pense que je dois mal ecris cette requette ou je dois l'ecrire autrement.
    merci de votre aide .

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Vu que les deux requêtes se font sur le même domaine, je ne vois pas l'utilité de faire un aller retour pour rien ?
    Pourquoi ne pas faire le second traitement directement coté serveur au lieu de revenir coté client ???

    Et même si ce n'est pas sur le même domaine, tu peux faire un curl coté serveur .
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Par défaut
    Merci space,
    j y pense mais le veritable soucis est que je refais des traitement coté js avant d'appeler la seconde fonction avec des nouvelles variables .

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ça me parait curieux qu'entre l'envoi du premier ajax et le retour tu aies besoin de récupérer d'autres données coté client ...

    Lance un ajax sur le success d'un autre est tout à fait possible, mais je ne vois que très peu de cas de figure dans lequel cela se justifie...
    Tu est sûr de ne pas pouvoir envoyer toutes les données dès le premier ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Par défaut
    tu as effectivement raison space ,
    j allordissai mes traitement unitiliement .
    ce que je fais actuellement c'est d'envoyer toutes les données via ma premiere requette Ajax .
    mais j'ai actuellement un soucis avec u preg_replace_callback .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	function repl($a){
        global $tabSite;
        global $id_ligne;
     
         return  $tabSite[$a[$id_ligne]];
    	}
     
     	$message_a_envoyer=preg_replace_callback("~\{(\d+)\}~", "repl", $message);
     
     
    	echo $message_a_envoyer;
    il refuse de remplacer .
    Merci d'avance .

  6. #6
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Si rien n'ai remplacé, c'est soit que ce que le script php reçoit n'est pas ce que tu penses, soit que la pattern ne décrit pas bien la chaîne (soit les deux).
    Pour tirer ça au clair, tu peux afficher ou placer dans un log ce que reçoit le script PHP (poste le pour qu'on le voit).
    Aussi je pense que ta fonction de callback contient une erreur: $a[$id_ligne] me parait bizarre car $a est censé être le tableau des matchs et ne contient que deux items. Peut-être: $id_ligne[$a]?

    Au passage, tu peux éviter les vilaines globals en écrivant directement:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo preg_replace_callback('~{(\d+)}~', function ($m) use ($tabSite, $id_ligne) {
        return $tabSite[$id_ligne[$m[1]]];
    }, $message);

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

Discussions similaires

  1. Procédure d'une table qui fait appel à une autre table
    Par betsprite dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 15/06/2010, 17h05
  2. class qui en appel une autre qui peux planter !
    Par deadliff dans le forum Langage
    Réponses: 7
    Dernier message: 20/03/2007, 15h40
  3. servlet qui appelle une autre
    Par kam81 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 06/11/2006, 16h14
  4. requête qui boucle sur une autre requête
    Par super_dz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/09/2006, 20h02
  5. appel d'une fonction qui est dans une autre page
    Par guppy33 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/08/2006, 12h05

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