1 votes

ajax comment lire la variable $_post

J'essaie de filtrer/rechercher une base de données avec ajax.

$.ajax({
   type: "POST",
   url: "filterSearch.php",
   queryString: qry,
   success: function(data){
     alert( "Data Saved: " + data );
     $('#searchResult').html(data); // Fill the search results box

   }
 });

Maintenant dans filterSearch.php j'ai les codes de test suivants

if(isset($_POST['queryString'])) {
    echo "TEST";
}
if($_POST['runquery']==1) {

$sql = "SELECT * FROM fs_vacatures WHERE here-the-like-query?";
$msg =  $sql;
echo $msg;
die();
}

die();

Mais ni le TEST ni le $sql ne sont renvoyés dans l'alerte ?

1voto

karim79 Points 178055

Su $.ajax devrait ressembler à ceci :

$.ajax({
   type: "POST",
   url: "filterSearch.php",
   data: {queryString: qry},
   success: function(data){
     alert( "Data Saved: " + data );
     $('#searchResult').html(data); // Fill the search results box

   }
 });

En d'autres termes, vous devrez transmettre les noms et les valeurs des paramètres à l'aide de la fonction data opción . Dans votre exemple, vous avez inventé une nouvelle option appelée queryString ce qui ne fonctionne pas avec jQuery.

1voto

Felix Kling Points 247451

Lisez la documentation sur .ajax() . Il y a pas de paramètre queryString , vous devez utiliser data .

Cela devrait ressembler à quelque chose comme ceci alors :

data: {'queryString': qry, 'runquery': 1}

Mise à jour :

Ok, soit vous utilisez POST de cette façon :

$.ajax({
   type: "POST",
   url: "filterSearch.php",
   data: {'runquery': 1, 'name': 'sdaf', 'asdf': 'asdf'}
   //...
 });

et ensuite vous avez accès aux paramètres avec $_POST['runquery'] , $_POST['name'] etc.

Ou vous utilisez GET :

$.ajax({
   type: "GET",
   url: "filterSearch.php" + qry, // which results in 'filterSearch.php?runquery=1&name=sdaf&asfd=asd'
   // ...
 });

et accéder aux paramètres via $_GET['runquery'] , $_GET['name'] etc.

0voto

Bernhard Kircher Points 1609

Si vous utilisez jQuery, essayez d'utiliser "post" où vous pouvez ajouter les paramètres de post sous forme de paires clé-valeur :

$.post("filterSearch.php", { "queryString": "theValueOfQueryString", "runquery" : 1 },
   function(data){
     alert( "Data Saved: " + data );
     $('#searchResult').html(data); // Fill the search results box
   });

voir jquery pour plus d'informations

0voto

aland Points 731

J'aime bien la méthode de sérialisation.

$.ajax({url: "filterSearch.php", type: "POST", data: $("form").serialize(), 
  success: function(data){

  }

});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X