Witam
Mam pewien problem otóż w jednej podstronie serwisu potrzebuję wywołać dwa zapytania ajaxowe - oba odpytujące ten sam plik php, ale każdy o inne dane. Niestety, gdy w kodzie mam dwa takie zapytania - działa tylko jedno z nich (to drugie), niezależnie od umiejscowienia wywołania funkcji w kodzie.
Oto kod js:
function noweZapytanie(url,funkcja,atrybut) {
http_request = false;
if(window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if(http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxm12.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if(!http_request) {
alert('Poddaje sie :( Nie moge stworzyc instancji obiektu XMLHTTP');
return false;
}
if(funkcja == 'menuitems') {
http_request.onreadystatechange = function() { responseMenuItems(http_request); };
http_request.open('POST', url, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send('show=' + funkcja);
}
if(funkcja == 'menuadding') {
http_request.onreadystatechange = function() { responseMenuAdding(http_request); };
http_request.open('POST', url, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send('show=' + funkcja);
}
function responseMenuAdding(http_request) {
if(http_request.readyState < 4) {
document.getElementById('menuadd_cc').innerHTML = '<img src=gfx/ajax-loader2.gif style="margin-top:15px;">';
}
if(http_request.readyState == 4) {
alert('ok');
if(http_request.status == 200) {
var odpowiedz = http_request.responseText;
document.getElementById('menuadd_cc').innerHTML = odpowiedz;
} else {
alert(http_request.status);
}
}
}
function responseMenuItems(http_request) {
if(http_request.readyState < 4) {
document.getElementById('menuitems_cc').innerHTML = '<img src=gfx/ajax-loader2.gif style="margin-top:15px;">';
}
if(http_request.readyState == 4) {
if(http_request.status == 200) {
var odpowiedz = http_request.responseText;
document.getElementById('menuitems_cc').innerHTML = odpowiedz;
} else {
alert(http_request.status);
}
}
}
A to obcięty ze zbędnych div'ów kod html'owy, w którym wywołuję zapytania:
<script> noweZapytanie('modules/menustrony_ajaxresponse.php','menuadding','');
</script>
<script> noweZapytanie('modules/menustrony_ajaxresponse.php','menuitems','');
</script>
Czy ktoś może pomóc i chociaż naprowadzić mnie dlaczego te funkcje nie mogą zadziałać obie naraz? Po stronie pliku menustron_ajaxresponse.php wszystko jest w porządku, sprawdzałem na setki sposobów

Firebug dla obu operacji pokazuje status 200, ale mimo wszystko zapytanie o 'menuadding' nie działa :|
Ten post edytował basstone 3.08.2012, 00:01:11