看到网上的答案,有的说可以创建多request对象,有的说一个页面只有一个request对象,
还有什么加到readyStateChange函数中。都试过了。还是不行。
一个JSP页面上,用2个AJAX异步请求,就只有一个能得到响应。
有人知道怎么解决么?

解决方案 »

  1.   

    在前台请求中多加一个隐藏域或uri中直接加(get方式,比如http://www.xxx.com/xxx?a=xx&ajax=str1或者str2),在后台jsp把这个ajax参数的内容取出来(request.getParameter("ajax")或者${ajax}),再用if else判断它是str1还是str2,然后再进行不同响应。你可以试试,希望能帮助到你
      

  2.   

    有码, 别人会给你解答更精确的答案.
    我猜想是不是2个ajax请求的callback弄成一个方法里了.
      

  3.   

    window.onload=function(){

    //1. 获取 XMLHttpRequest 对象
    var xhr = getRequest();

    //2. 利用 XMLHttpRequest 对象发送请求
    //2.1 请求的地址
    var url = "http://localhost:8080/china12320/news/news_list2.action";

    //2.2 请求的方式: GET, POST
    var method = "POST";

    //建立请求
    xhr.open(method, url);
    //发送请求
    xhr.send(null);

    //3. 利用 XMLHttpRequest 对象对象获取响应, 并把相应结果放入 #msg 中
    xhr.onreadystatechange = function(){
    //当响应发送完毕时
    if(xhr.readyState == 4){
    //当响应正常返回
    if(xhr.status == 200){
    //获取响应结果
    var result = xhr.responseText;
    document.getElementById("jsajaxpost").innerHTML = result;
    }
    }
    };

    return false;

    }

     
                              </script>
      

  4.   

    <script type="text/javascript">  
       
        window.onload=function(){

    //1. 获取 XMLHttpRequest 对象
    var xhr2 = getRequest2();

    //2. 利用 XMLHttpRequest 对象发送请求
    //2.1 请求的地址
    var url = "http://localhost:8080/china12320/1.jsp";

    //2.2 请求的方式: GET, POST
    var method = "POST";

    //建立请求
    xhr2.open(method, url);
    //发送请求
    xhr2.send(null);

    //3. 利用 XMLHttpRequest 对象对象获取响应, 并把相应结果放入 #msg 中
    xhr2.onreadystatechange = function(){
    //当响应发送完毕时
    if(xhr2.readyState == 4){
    //当响应正常返回
    if(xhr2.status == 200){
    //获取响应结果
    var result = xhr2.responseText;
    document.getElementById("doctorcotent").innerHTML = result;
    }
    }
    };

    return false;

    }


     </script>