
responseText nevrací žádný výsledek
Zdravím, potřeboval bych poradit. Mám univerzální script, který by měl vrátit do proměnného elementu určitý php výstup. Nemůžu zaboha přijít proč mi responseText nic nevrací, při kontrolním výpisu ze status mi to vrací 0, což mi nemustí podmínka a což znamená, že se nevrací žádný výsledek.
function request(nacitani, vypis){
if(nacitani==null){
var nacitani="ajax_okno";
}
if(vypis==null){
var nacitani="ajax_okno";
}
if (httpR.readyState == 4 && httpR.status == 200){
if(nacitani!=vypis){
var nacitam = document.getElementById(nacitani);
nacitam.innerHTML = "";
}
var vypis = document.getElementById(vypis);
vypis.innerHTML = httpR.responseText;
}
else{
if(nacitani!=vypis){
var vymaz = document.getElementById(vypis);
vymaz.innerHTML="";
}
var nacitam = document.getElementById(nacitani);
nacitam.innerHTML = '<div class="loading"><center><img src="http://mujweb/jscript/loading_bar.gif" /></center></div>';
}
}
function ajax(akce, nacitani, vypis, promena1, promena2, promena3, promena4){
if (window.ActiveXObject){
httpR = new ActiveXObject("Microsoft.XMLHTTP");
}
else{
httpR = new XMLHttpRequest();
}
httpR.open("POST", 'http://mujweb/configuration/ajax.php', true);
httpR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpR.send('akce='+akce+'&promena1='+promena1+'&promena2='+promena2+'&promena3='+promena3+'&promena4='+promena4);
httpR.onreadystatechange= function () {
request(nacitani, vypis);
};
}
Už nad tím sedím slušnou dobu a už jsem pomale zoufalej, protože už fakt nevím v čem by to mohlo být. Do php scriptu jsem si zkusil udělat i echo, které by se mělo vždy vypsat, i přes to se nic nevrací. Můžete někdo poradit?
Nikde nevidím, že bys tam měl to httpR definovaný.
Definovaný to mám hned na začátku fce ajax
To máš no. Jenže to platí jenom uvnitř té funkce. V té druhé to nijak definované nemáš.
Nemá to nikde deklarované pomocou var, takže sa to použije ako globálna premenná. Je to síce prasáreň, ale fungovať to bude. Lepšie by samozrejme spravil, ak by namiesto globálnej premennej použil lexikálny uzáver (closure).