2 ajax调用但获取一个数据

时间:2014-08-12 06:49:42

标签: jquery ajax

我想从我的ajax调用servlet,它们都会返回一个数字,我调用了两个servlet,但只有一个被调用。请告诉如何使用获取2个变量值并在sesisionStorage中设置它们来自2个不同的servlet 当我发出警报时

alert(xhr.open('GET', 'servlet1', false));

我得到了不确定..

   function refreshData() {

    google.setOnLoadCallback(drawChart);
    var xhr;

    var xhr1 = new XMLHttpRequest();
    xhr1.open('GET', 'servlet1', false);
    xhr1.onreadystatechange = function() {

        if (xhr1.readyState == 4) {

            alert(xhr1.responseText + "--servlet1-----");
            sessionStorage.setItem("data2", xhr1.responseText);
            handleReceiveData(xhr1.responseText);
        }
    }
    xhr1.send(null);

    xhr = new XMLHttpRequest();

    xhr.open('GET', 'servlet2', false);
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4) {

            alert(xhr.responseText + "--servlet2--");
            sessionStorage.setItem("data", xhr.responseText);
            handleReceiveData(xhr.responseText);
        }
    }

    xhr.send(null);

}

1 个答案:

答案 0 :(得分:1)

这似乎是由于异步发送两个ajax请求。你可以尝试添加这样的代码:

  xhr1.open('GET', 'servletname2', false);
  xhr.open('GET', 'servletname', false);

可能导致应用程序挂起或停止该特定请求。