2010-03-04 7 views
1

Je suis en train 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 en filterSearch.php j'ai les codes d'essai 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 ESSAI ou le $ sql est le retour dans l'alerte ??

Répondre

1

Votre $.ajax appel 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 

    } 
}); 

C'est, vous devrez passer les noms et valeurs des paramètres à l'aide du data option. Dans votre exemple, vous avez inventé une nouvelle option appelée queryString qui ne fonctionne pas avec jQuery.

1

Lisez la documentation à propos de .ajax(). Il n'y a aucun paramètre queryString, vous devez utiliser data.

Il devrait ressembler à ceci alors:

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

Mise à jour:

Ok, que ce soit vous utilisez POST cette façon:

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

et 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.

+0

tx, à tous j'ai confondu deux choses. $ .post vs .ajax $ et des données: vs queryString: va tester tout – alex

+0

hmm, dans qry i ont RunQuery = 1 & name = SDAF & asfd = asdf je pensais que filterSearch serait lu RunQuery comme une variable? – alex

+0

@alex: Voir ma mise à jour. –

0

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

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

voir jquery pour mor e Information

0

J'aime plutôt la méthode de sérialisation.

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

    } 

});