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 :

Utilisation de ajax


Sujet :

jQuery

Vue hybride

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

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Par défaut Utilisation de ajax
    Bonjour, débutant sur JQuery je dois modifier un script AJAX afin d'envoyer une donnée supplémentaire vers ma page php traitant la requête (le paramètre "critère"), mais je ne vois pas comment faire, voici ce que j'ai tenté, mais ça ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function test(search, adresse, critere)
    {
        if (search.length == 0 ) {
            $("#suggestions").hide();
        } else {
    		$.ajax({type: "POST", url: adresse, data: "search="+search, "critere="+critere, success: function(data){
                if(data.length >0) {
                    $("#suggestions").show().css('z-index','2000');
                    $("#autoSuggestionsList").html(data);
                }
            }});
        }
    }
    J'aimerais ensuite récupérer le paramètre dans ma page php grâce à un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $critere = $request->getParameter('critere');
    comme je le fait actuellement pour le parammètre "search".

    Merci pour l'aide !

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2011
    Messages : 41
    Par défaut
    Salut tout d'abord, pour réaliser ta requête Ajax, tu dois procéder de la manière suivante :
    Pour le JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	var lien = "taPage.php"; // Lien vers le script php à exécuter
    	var param = "demande= "+Tesdata // Tesdata correspond aux données que tu souhaite envoyer
    	$.ajax({ // Début de la requête Ajax
    		url:lien, // Récupération du lien
    		data: param, // données envoyées en paramètre de la requête
    		type:'POST', // envoi de type POST
    		dataType:'json', //type de données souhaité pour le retour des résultats
    		success: function(resultat){ //si l'appel de la méthode est réussie		
    // Code que tu souhaite appliquer sur le résultat de ta requête PHP
     
    		} 
    	});
    Pour le PHP:
    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
     
        	if(!empty($_POST['demande'])){	//Si la personne a fait une demande
    		if($_POST['demande'] == "Tesdata"){// si la demande est Tesdata
     
    			MaFonction(); // alors on fait appel à la fonction MaFonction	
     
    		} else {
    	                  echo('erreur de paramètres');
    		}
    	}
    	else echo ("pas de demandes reçues"); // sinon on affiche ce message 
     
    function MaFonction(){
          //code que tu souhaite réaliser
          echo json_encode($resultat);// tu renvoies à ton navigateur le résultat de ta fonction au format Json
    }

  3. #3
    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
    tu dois procéder de la manière suivante :
    dois ?
    ce n'est pas une obligation ...
    c'est une possibilité
    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 !

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Par défaut
    Merci pour vos réponses,

    Dans mon cas, je dois transmettre plusieurs paramètres, voici ce que j'ai fait, mais je n'arrive pas à récupérer correctement mes paramètres côté traitement PHP:

    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
    function lookup(search, adresse, critere)
    {
        if(search.length == 0 || search.length == 1) {
            $("#suggestions").hide();
        } else 
    	{
    		var	params = new Array(search, critere);
    		$.ajax({
    			type: "POST", 
    			url: adresse, 
    			data: "elem="+params,
    			success: function(data){
                if(data.length >0) {
                    $("#suggestions").show().css('z-index','2000');
                    $("#autoSuggestionsList").html(data);
                }
            }});
        }
    }
    PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(!empty($_POST['elem']))
    	{
    		$res = $_POST['elem'];
    		echo $res[0];
    		echo $res[1];
    	}
    Je récupère un tableau mais au lieu d'avoir $res[0] pour search et res[1] pour critère j'ai une case par caractère de la variable search.
    Ainsi, pour search = 'test' et critere = 1 j'ai $res[0] = t et $res[1] = e

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2011
    Messages : 41
    Par défaut
    Il suffit que tu fasses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: "search="+search+ "&critere="+critere

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Par défaut
    Oui c'est ce que je viens de voir.

    Merci beaucoup !

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

Discussions similaires

  1. [1.x] Utilisation d'AJAX
    Par ygrim dans le forum Symfony
    Réponses: 9
    Dernier message: 30/03/2009, 12h02
  2. Utilisation de ajax avec struts
    Par edogawa dans le forum Struts 1
    Réponses: 2
    Dernier message: 23/01/2008, 10h37
  3. Probleme apres utilisation d'ajax
    Par sebastien00 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 16/01/2008, 17h36
  4. Utilisation d'Ajax dans une DATALIST
    Par Gladiator dans le forum ASP.NET
    Réponses: 8
    Dernier message: 09/01/2008, 11h59
  5. Probleme XML/XSL et utilisation d'ajax
    Par titou250 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/03/2006, 18h21

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