Bonjour à tous ! Je me suis mis à l'AJAX dans le cadre d'un stage pour créer une petite appli web.

Mes premier essais se sont révélés concluant, j'arrive à communiquer avec le serveur et à récupérer des données sans recharger ma page. Mais lorsque je veux renouveler l'exploit : problème ! Je m'explique.

J'ai, dans mon formulaire HTML, un bouton qui appelle la fonction search() lorsqu'on clique dessus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<button onclick="search()">Chercher</button>
Voici la fonction search() en question :
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
function search()
{
    var xhr = getXhr();
    // On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function()
    {
        // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
        if(xhr.readyState == 4 && xhr.status == 200)
        {
            // On se sert de innerHTML pour rajouter les options à la liste 
            leSelect = xhr.responseText;
            document.getElementById('resultats').innerHTML = leSelect;
        }
    }
 
    // Ici on va voir comment faire du post
    xhr.open("POST","ajaxSearch.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    var sel = document.getElementById('categorie');
    numCat = sel.options[sel.selectedIndex].value;
    xhr.send("numCat="+numCat);
    alert("Test");
};
Je précise que la fonction getXhr() (qui permet de récupérer l'objet XMLHttpRequest) fonctionne.

Ma fonction search() est censée envoyer des données avec la méthode POST à ma page ajaxSearch.php, qui les traite ensuite. Comme cela ne fonctionnait pas, j'ai simplement mis un alert() dans ajaxSearch.php pour voir si elle était bien appelée, mais l'alert ne s'affiche pas...

Si quelqu'un a une réponse à m'offrir, je suis preneur

D'avance merci !