多个Ajax 请求冲突的问题
本帖最后由 purifypipi 于 2013-12-07 11:22:59 编辑
我现在遇到这样一个情况
有两个Ajax,当我发送第一个Ajax请求的时候
可以顺利激活后台的servlet,后台servlet也能返回数据到jsp页面上
但当我想发送第二个Ajax的时候,第二个Ajax可以激活后台的servlet
后台也能打印出数据,但是前台的jsp页面接收不到反馈的数据
这两个Ajax请求, url用的是同一个validate2.do? 只不过是每次带的参数不一样而已
请问是为什么呢? 1.是浏览器的问题? 2.还是浏览器缓存的问题,第二个Ajax请求和第一个冲突勒?
3.我还查到有人说
在url后面再加个随机数 我也试了 没效果
我还特意把每次新创建的XMLHttpRequest作为局部变量
具体代码如下:
<script>
function doclick1() {
var test, test2;
var url = "
validate2.do?id=" + test + "&id2=" + test2;
var req;
//局部变量
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
req.onreadystatechange = function () { callback('doclick1', req); }
req.send(null);
} function doclick2() {
var td = event.srcElement;
var url =
"validate2.do?id3=" + td.id + "&id4=" + td.name;
var req;
//局部变量
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
req.onreadystatechange = function () {
callback('doclick2', req);
}
//send函数发送请求
req.send(null);
}
function callback(p, req) {
if (req.readyState == 4 && (0 == req.status || req.status == 200)) {
&