Ajax 如何终止已经请求的Ajax 30
具体是这样的jsp页面第一次加载的时候在<bodyonload="doclick1()">,页面主动执行一次doclick1()这个时候doclick1()就可以监听se...
具体是这样的
jsp页面第一次加载的时候在<body onload="doclick1()"> ,页面主动执行一次doclick1()
这个时候doclick1()就可以监听servlet后台传过来的数据了嘛
然后呢,我还想如果接收到后台的数据后,再继续监听,在不点击按钮的情况下,所以就把doclick1() 加到了function show(str,p) { doclick1() } 加到了这 。当后台再传过来数据后,我就想点击按钮,执行doclick2(),
让doclick2()建立个新的Ajax,然后返回数据。现在的情况是doclick1()一直在后台挂着,我中断不掉它
所以导致执行doclick2()的时候,
function doclick1() {
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 && req.status == 200) {
var check = req.responseText;
alert("看看接收到的p是多少" + p); //此句最后无论怎么 接收到的永远是doclick 而接收不到 doclick2
show(check, p);
};
}
function show(str, p) {
if (p == 'doclick1') {
var show = str;
document.getElementById("status1").innerHTML = show;
doclick(); //收到数据后继续执行doclick事件继续监听后台
}else if(p == 'doclick2') {
var show = str;
document.getElementById("status1").innerHTML = show;
}
} 展开
jsp页面第一次加载的时候在<body onload="doclick1()"> ,页面主动执行一次doclick1()
这个时候doclick1()就可以监听servlet后台传过来的数据了嘛
然后呢,我还想如果接收到后台的数据后,再继续监听,在不点击按钮的情况下,所以就把doclick1() 加到了function show(str,p) { doclick1() } 加到了这 。当后台再传过来数据后,我就想点击按钮,执行doclick2(),
让doclick2()建立个新的Ajax,然后返回数据。现在的情况是doclick1()一直在后台挂着,我中断不掉它
所以导致执行doclick2()的时候,
function doclick1() {
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 && req.status == 200) {
var check = req.responseText;
alert("看看接收到的p是多少" + p); //此句最后无论怎么 接收到的永远是doclick 而接收不到 doclick2
show(check, p);
};
}
function show(str, p) {
if (p == 'doclick1') {
var show = str;
document.getElementById("status1").innerHTML = show;
doclick(); //收到数据后继续执行doclick事件继续监听后台
}else if(p == 'doclick2') {
var show = str;
document.getElementById("status1").innerHTML = show;
}
} 展开
1个回答
展开全部
能说清楚点吗?你是想要做个什么功能,感觉你是不是想法有误
追问
想实现 第一次JSP页面加载 自动执行一次doclick1(), 然后等待后台数据传输到前台JSP页面
一旦收到数据后,我就再执行一次doclick1()
当收到的数据是我想要的别的操作的数据
我就点击按钮 绑定一个doclick2(), 此后执行doclick2()的ajax请求
但doclick1()一直运行着,我的doclick2冲不掉doclick1
追答
你要加一个条件就是:if(response.statu == 4&& 你的条件){
doClick2();
}
这样应该就没问题了。
或者直接用jqueryAjax也行。
记得给分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询