一个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请求。