当前位置: 代码迷 >> Java Web开发 >> 一个JSP页面使用2个ajax异步请求,只能显示某一个请求效果,有没有好的解决办法
  详细解决方案

一个JSP页面使用2个ajax异步请求,只能显示某一个请求效果,有没有好的解决办法

热度:2134   发布时间:2013-02-25 21:08:16.0
一个JSP页面使用2个ajax异步请求,只能显示某一个请求效果,有没有好的解决方法?
看到网上的答案,有的说可以创建多request对象,有的说一个页面只有一个request对象,
还有什么加到readyStateChange函数中。都试过了。还是不行。
一个JSP页面上,用2个AJAX异步请求,就只有一个能得到响应。
有人知道怎么解决么?
------最佳解决方案--------------------------------------------------------
在前台请求中多加一个隐藏域或uri中直接加(get方式,比如http://www.xxx.com/xxx?a=xx&ajax=str1或者str2),在后台jsp把这个ajax参数的内容取出来(request.getParameter("ajax")或者${ajax}),再用if else判断它是str1还是str2,然后再进行不同响应。

你可以试试,希望能帮助到你
------其他解决方案--------------------------------------------------------
两个请求的一样的?
不是做同一件事情就可以请求啊!
------其他解决方案--------------------------------------------------------
有码, 别人会给你解答更精确的答案.
我猜想是不是2个ajax请求的callback弄成一个方法里了.
------其他解决方案--------------------------------------------------------
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>
------其他解决方案--------------------------------------------------------
<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>
------其他解决方案--------------------------------------------------------
4楼,5楼,是2个ajax请求。
  相关解决方案