04-11-2007, 11:32 AM
C'est mieux que je fasse un petit résumé de ce que je trouve bizarre :
Code PHP :
<?php
function createRequestObject()
{
var http;
if(window.XMLHttpRequest)
{
http = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
http = new ActiveXObject("Microsoft.XMLHTTP");
}
return http;
}
function affichage_result()
{
if(http.readyState == 4)
{
if(http.status == 200)
{
alert(':)');
}
else
{
alert(http.status + ' : ' + http.statusText);
}
}
}
function bouger(x, y)
{
http = createRequestObject();
http.open('post', 'pages/requetes_ajax.php', true);
http.onreadystatechange = affichage_result();
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.send('data_x='+x+'&data_y='+y);
location.reload();
}
function camoufler()
{
http = createRequestObject();
http.open('post', 'pages/requetes_ajax.php', true);
http.onreadystatechange = affichage_result();
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
}
Dans la fonction affichage result, on utilise http, mais dans la fonction en elle même on ne l'as pas déclaré, et on ne lui a pas mis de paramètre, donc comment ça fonctionne?
Pourquoi est ce que mon alert(''); ne fonctionne jamais?
Pourquoi est ce que si je mets, dans la fonction bouger, alert(reponseText); avant la location.reload(); (ou après) il me mets undefined?
Comment fonctionne cette ligne : http.onreadystatechange = affichage_result(); ?
Merci