Création
d'entreprise
Posez votre question Signaler

[Ajax] Envoi de requête vers un site

matthoffman 413Messages postés 24 mars 2008Date d'inscription 28 janvier 2012Dernière intervention - Dernière réponse le 24 juil. 2011 à 00:23
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,
Lire la suite 

[Ajax] Envoi de requête vers un site »

1 réponses
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé « [Ajax] Envoi de requête vers un site » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?