Отправка двух запросов Ajax двум разным скриптам PHP из одной функции javascript - PullRequest
2 голосов
/ 14 сентября 2010

Можно ли отправлять запросы Ajax двум или более скриптам Php одновременно? Я знаю, что это может быть достигнуто последовательно (получение ответа от 1, а затем получение ответа от другого), но мне интересно, возможно ли это одновременно. Пожалуйста, помогите мне с помощью следующего кода:

function calShowUpload(){
    if (http.readyState == 4) {
        res = http.responseText;
        document.getElementById('maincontent').innerHTML=res;
    }
}

function showUpload(obj)
{
      http.open("GET", "./showUpload.php", true);
    http.onreadystatechange = calShowUpload;
    http.send(null);
}


function getXHTTP() {
    var xhttp;
    try {   // The following "try" blocks get the XMLHTTP object for various browsers…
            xhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } 
    catch (e) {
            try {
            xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } 
        catch (e2) {
         // This block handles Mozilla/Firefox browsers...
                try {
                    xhttp = new XMLHttpRequest();
                } 
            catch (e3) {
                    xhttp = false;
                }
            }
        }
    return xhttp; // Return the XMLHTTP object
}

var http = getXHTTP(); // This executes when the page first loads.

В приведенном выше примере я знаю, что могу вызвать другую функцию, такую ​​как showUpload(obj) внутри calShowUpload(), чтобы достичь своей цели, но мне нужно что-то вроде этого:

function showUpload(obj)
{
      http.open("GET", "./showUpload.php", true);
      http.open("GET", "./showDelete.php", true);
    http.onreadystatechange = calShowUpload;
    http.send(null);
}

1 Ответ

5 голосов
/ 14 сентября 2010

Вам понадобится два экземпляра XMLHttpRequest, или второй вытеснит первый.Самый простой способ сделать это с помощью существующего кода - просто создать два экземпляра и написать свой JS, чтобы использовать тот, который соответствует задаче.

var http1 = getXHTTP(); // Use this for one request.
var http2 = getXHTTP(); // Use this for the other request.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...