Pour les besoins d'un de mes scripts, au sein-même de la fonction de traitement des évènements d'une requête AJAX, je voudrais pouvoir vider le xhr.responseText.
Comme cette propriété est en lecture seule, il faudrait que je la redéfinisse.
Là où je coince, c'est que ne sachant comme elle est développée à l'origine, je ne vois pas du tout comment la réécrire

Code : Tout sélectionner
<script type="text/javascript">
function xhr_create(){
var obj_xhr=false;
try{
try{
obj_xhr=new opera.XMLHttpRequest();
}
catch(e){
obj_xhr=new XMLHttpRequest();
}
}
catch(e){
try{
obj_xhr=new ActiveXObject('Microsoft.XMLHTTP');
}
catch(e){
obj_xhr=new ActiveXObject('Msxml2.XMLHTTP');
}
}
return obj_xhr;
}
function xhr_send(xhr_data){
var Obj_xhr=xhr_create();
Obj_xhr.onreadystatechange=function(){
if(Obj_xhr.readyState==3){
alert(Obj_xhr.responseText);
}
}
Obj_xhr.open('POST','http://www./mondomaine/.com/sleep.php',true);
Obj_xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Obj_xhr.send(xhr_data);
}
window.onload=function(){xhr_send(null);};
</script>
Code : Tout sélectionner
<?php
header("Access-Control-Allow-Origin: *");
echo 1;
sleep(10);
echo 2;
sleep(10);
echo 3;
?>
Sous Firefox, ça tourne mais il me renvoie 1, puis 12, puis 123 alors que je voudrais qu'il renvoie 1, puis 2, puis 3
J'ai trouvé [lien url="http://code./google/.com/p/xmlhttpreque ... loads/list"]une solution qui réécrit entièrement la fonction xhr[/lien] mais ça ne tourne pas sous IE et sous Firefox, ça me renvoie juste 1
Auriez-vous des idées, svp?