[Ajax] Envoi de requête vers un site

matthoffman Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis en train de construire une application web et je bloque sur ajax car je ne maitrise pas encore très bien cette technologie:

Code HTML:
<input type="button" name="validation" onclick="send_req()" />


Code JS:
function send_req()
{
    var xhr = new XMLHttpRequest();  
    xhr.open('GET', 'www.monsite.com,true');
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xhr.send('type=montype');
}

J'aimerais que lorsque l'on clique sur le bouton, cela effectue une requête sur mon site, mais rien ne se passe avec ce code.

Pouvez vous m'aider svp ?

Cordialement,

1 réponse

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Salut,

    Il faut traiter le résultat une fois la requête terminée.
    La requête est terminée lorsque son état (readyState) vaut 4.
    Tu peux écouter le changement grâce à onreadystatechange.
    Il faut également vérifier que la requête soit bien exécutée, donc que le serveur est répondu le code 200 (OK) ou 0.

    xhr.onreadystatechange = function() {
        if( xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
            // Tu peux utiliser xhr.responseText
        }
    };


    Ceci :
    xhr.open('GET', 'www.monsite.com,true');
    n'est pas valide.
    La requête essaiera de joindre http://example.com/www.monsite.com,true

    Et il est inutile de préciser l'entête « Content-Type: application/x-www-form-urlencoded » pour une requête GET.
    0