Bonsoir tout le monde,

j'ai un petit souci avec xmlhttprequest, j'ai cherché pas mal de temps sans vraiment trouver de solution c'est pourquoi je m'en remet à vous...

Bref, je vous explique le concept je veux contacter un service distant via mon site web(php), j'ai donc pensé à utiliser la librairie cUrl qui me permet de contacter une page distante afin d'en récupérer le contenu.

J'ai commencé par coder un petit formulaire php pour utiliser ma solution, je n'ai rencontré aucun problème, lorsque je submit le formulaire je récupère bien la page. Apres ça j'ai voulu rendre plus "jolie" la chose et appeler mon script php via xmlhttprequest afin de récupérer ma page. Malheureusement ici ça coince, le script php ne renvoie plus rien.

Bref un peu de code dans tout ca j'appelle mon script de cette manière
<code>
Script = "monscript.php";
Vars = "toto="+ window.document.getElementById("monId").value; //où monId représente l'id de la textbox
if(window.XMLHttpRequest) //Firefox";
{
Fd_Obj = new XMLHttpRequest();
}
else if(window.ActiveXObject) //Internet Explore
{
Fd_Obj = new ActiveXObject('Microsoft.XMLHTTP');
}
else
{
alert('Le navigateur ne supporte pas les objets XMLHttpRequest');
}
Fd_Obj.onreadystatechange = function(){
if(Fd_Obj.readyState == 4){
if(Fd_Obj.status == 200)
{
response = Fd_Obj.responseText;
window.document.getElementById('idDiv').innerHTML = response;
}
}
}

// c'est ce qui permet d'envoyer la requête xmlhttprequest avec les paramètres en POST
Fd_Obj.open("POST",Script,true);
Fd_Obj.setRequestHeader("Content-type","application/x-www-form-urlencoded");
Fd_Obj.setRequestHeader("Content-length",Vars.length);
Fd_Obj.setRequestHeader("Connection","close");
Fd_Obj.send(Vars);
</code>

Voilà comment j'appel le service distant avec curl

$ch = curl_init(Mon Url de destination);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); //$postfields un array contenant les variables à envoyer en post

curl_setopt($ch, CURLOPT_TIMEOUT, 1000); //ici j'ai mis un peu d'attente pour voir si ca changer quelque chose ^^
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300);//ici j'ai mis un peu d'attente pour voir si ca changer quelque chose ^^
$result = curl_exec($ch); //on execute
curl_close ($ch);

return $result ;

</code>

Someone can help me please ?