Aide AJAX: httpRequest.responseText ...
Résolu
Freddy_666
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
Freddy_666 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Freddy_666 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis actuellement en train d'apprendre les requêtes Http, et un problème me perturbe, pour vous l'expliquer voici le code que j'utilise:
function faire_requete(url)
{
httpRequest = creer_requete();
httpRequest.onreadystatechange = function ()
{
if (httpRequest.readyState == 4)
{
if (httpRequest.status == 200)
{
return httpRequest.responseText;
}
else
{
alert('Un problème est survenu avec la requête.');
}
}
}
httpRequest.open("GET", url, true);
httpRequest.send(null);
}
hors, le return httpRequest.responseText; me retourne rien (undefined). J'ai donc essayer de remplacer la ligne par :
avert(httpRequest.responseText);
Pour essayer de voir si sa fonctionne, et bien j'ai de la chance, sa m'affiche le bon resultat.
Alors comment faire pour que sa fonctionne avec le return ?
PS: la fonction creer_requete() permet d'initialiser la requete Http selon le navigateur.
Merci de vos reponses.
Je suis actuellement en train d'apprendre les requêtes Http, et un problème me perturbe, pour vous l'expliquer voici le code que j'utilise:
function faire_requete(url)
{
httpRequest = creer_requete();
httpRequest.onreadystatechange = function ()
{
if (httpRequest.readyState == 4)
{
if (httpRequest.status == 200)
{
return httpRequest.responseText;
}
else
{
alert('Un problème est survenu avec la requête.');
}
}
}
httpRequest.open("GET", url, true);
httpRequest.send(null);
}
hors, le return httpRequest.responseText; me retourne rien (undefined). J'ai donc essayer de remplacer la ligne par :
avert(httpRequest.responseText);
Pour essayer de voir si sa fonctionne, et bien j'ai de la chance, sa m'affiche le bon resultat.
Alors comment faire pour que sa fonctionne avec le return ?
PS: la fonction creer_requete() permet d'initialiser la requete Http selon le navigateur.
Merci de vos reponses.
A voir également:
- Httprequest.responsetext
- Problème ajax ✓ - Forum Webmastering
- Erreur ajax c est quoi ✓ - Forum PHP
- Easyphp ajax ✓ - Forum PHP
- Ajax ne fonctionne pas... ? - Forum Programmation
- Le technologie AJAX ✓ - Forum Réseaux sociaux
1 réponse
Bonsoir,
Ajax ne fonctionne pas tout à fait comme une fonction "classique"
si tu mets dans la fonction qui traite la réponse:
return httpRequest.responseText;
le return envoie la réponse à qui ? à la fonction qui l' a appelée ??
si par alert tu vois bien la réponse attendue, il faut que tu opères différemment
au lieu du return, si tu veux par exemple que la réponse s'écrive dans une partie de ta page HTMl, à l'endroit de ta page tu mets:
<div id="id_ecrire"><!-- la sera chargee la reponse --></div>
et à la place du return tu mets:
var obj=document.GetElementById('id_ecrire');
obj.innerHTML=httpRequest.responseText;
Ajax ne fonctionne pas tout à fait comme une fonction "classique"
si tu mets dans la fonction qui traite la réponse:
return httpRequest.responseText;
le return envoie la réponse à qui ? à la fonction qui l' a appelée ??
si par alert tu vois bien la réponse attendue, il faut que tu opères différemment
au lieu du return, si tu veux par exemple que la réponse s'écrive dans une partie de ta page HTMl, à l'endroit de ta page tu mets:
<div id="id_ecrire"><!-- la sera chargee la reponse --></div>
et à la place du return tu mets:
var obj=document.GetElementById('id_ecrire');
obj.innerHTML=httpRequest.responseText;
Mais j'ai trouvé une direction différente qui marche plutôt bien. C'est aussi un innerHTML mais dynamique avec l'ID passé en paramètre...
En tout cas, encore merci.