Bonjour ,
J'aurai besoin d'une précision sur la façon de récupérer en Ajax les données envoyées en GET depuis un formulaire.
En effet, je souhaite implémenter une zone de recherche en Ajax avec jQuery récupérant le compte utilisateur présent dans une Base de données.
Voici le code pondu.
Code Javascript : 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
38
39 /** Script permettant la recherche d'un compte utilisateur depuis l'interface d'Admin */ $(document).ready(function() { // $(function()) {} (methode courte) //$("#loader-ajax").hide(); // lors du click sur le bouton rechercher du formulaire $("#rechercher").submit(function(event) { event.preventDefault(); var recherche = $(".search_box").val(); // la valeur saisie dans la boite de recherche var dataString= 'compte_trouve=' + recherche; if(recherche == "") {} // si la zone de recherche est vide on ne fait rien else { // sinon on effectue la requete Ajax sur le serveur $.ajax({ type: "GET", // on fait passer les donnees par l'url url: "resultsearch.php", // le traitement cote serveur est effectue depuis ce fichier data: dataString, // les donnees a faire passer en GET dataType : 'text', cache: false, beforeSend: function() { $("#loader-ajax").show(); // on affiche le loader d'attente Ajax $(".search_box").val(""); // on vide le champ de recherche $("#recherchecompte").show(); // on affiche la div contenant le texte "Compte utilisateur nom du compte $(".searchword").html(recherche); }, sucess: function(data) { if(data.substr(0, 2)=="ok") { $("#actionAdminForm").hide(); $("#loader-ajax").hide(); } if(data.substr(0, 2)=="ko") { $("#actionAdminForm").hide(); $("#loader-ajax").hide(); } } }); // fin $.ajax() } // fin if ... else //return false; }); // fin $("#rechercher").click(function() }); // fin $(document).ready(function()
La réponse su serveur suite à la requête Ajax
Code PHP : 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 <?php require_once 'includes/inc_connexion.php'; // pour se connecter a la Base de donn�es $conn = opendb_conn(); // on se connecte a la Base de donnees if (isset($_GET['recherche'])) { $recherche = $_GET['recherche']; $sql = "SELECT pseudo, actif FROM membres WHERE pseudo LIKE '%$recherche%'"; $stm = $conn->prepare($sql); // on prepare la requete a executer $stm->execute(); // on execute la requete // PDO::FETCH_ASSOC: retourne un tableau indexe par le nom de la colonne comme retourne dans le jeu de resultats $result = $stm->fetch(PDO::FETCH_ASSOC); $pseudo = $result['pseudo']; // recuperation du pseudo $actif = $result['actif']; // recuperation de la valeur du champ actif /* echo '<pre>'; print_r($result); echo '</pre>'; */ if (isset($pseudo) && $actif==1) { // si le compte existe et est actif alors ... echo "ok"; } else{ echo "ko"; } } $conn = null; ?>
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <!-- formulaire de recherche d'un compte utilisateur en Ajax --> <form class="ajax" name="rechercher" action="resultsearch.php" method="GET"> <label>Rechercher un compte utilisateur</label><em class="spacer"></em> <input type="text" name="recherche" class="search_box" value="" /> <input type="submit" id="rechercher" name="submit" value="rechercher"/> </form><!--fin du formulaire-->
Lorsque je clique sur le bouton rechercher je suis dirigé vers la page resultsearch m'affichant soit ok soit ko, les scripts js de jQuery ne s'effectue pas pour le bloc success.
Merci d'avance.
Transact.
Partager