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;
}
}
展开
 我来答
杨鹏程万里无云
2013-12-06
知道答主
回答量:79
采纳率:0%
帮助的人:25.2万
展开全部
能说清楚点吗?你是想要做个什么功能,感觉你是不是想法有误
追问
想实现 第一次JSP页面加载 自动执行一次doclick1(), 然后等待后台数据传输到前台JSP页面
一旦收到数据后,我就再执行一次doclick1()
当收到的数据是我想要的别的操作的数据
我就点击按钮 绑定一个doclick2(), 此后执行doclick2()的ajax请求
但doclick1()一直运行着,我的doclick2冲不掉doclick1
追答
你要加一个条件就是:if(response.statu == 4&& 你的条件){
doClick2();
}
这样应该就没问题了。
或者直接用jqueryAjax也行。

记得给分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式