我用js写了个轮询,再怎么写可以让它在条件下停止啊,高手来帮帮啊
<scripttype="text/javascript">$(document).ready(function(){setInterval(checkIsExist,1...
<script type="text/javascript">
$(document).ready(function(){
setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
});
function checkIsExist(){
$.ajax({
type: "POST",
url: "/SecondServlet",
data: "date="+new Date(),
success: function(rtmsg){
if(rtmsg == 'exist'){
$("#download").html("<button onclick=\"window.open('/ArticleServlet');\">下载</button>");
}
}
});
}
function go(){
$.ajax({
type: "POST",
url: "/FristServlet",
data: "date="+new Date(),
success: function(rtmsg){
if(rtmsg == 'success'){
alert("生成成功!");
}else if(rtmsg == 'fail'){
alert("生成失败!");
}
}
});
}
</script>
FristServlet 是生成一zip包
SecondServlet 是判断这个包是否存在,
10秒轮询一次,如果存在就用 ArticleServlet下载,
判断存在了,可还在轮询,怎么才能停啊 展开
$(document).ready(function(){
setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
});
function checkIsExist(){
$.ajax({
type: "POST",
url: "/SecondServlet",
data: "date="+new Date(),
success: function(rtmsg){
if(rtmsg == 'exist'){
$("#download").html("<button onclick=\"window.open('/ArticleServlet');\">下载</button>");
}
}
});
}
function go(){
$.ajax({
type: "POST",
url: "/FristServlet",
data: "date="+new Date(),
success: function(rtmsg){
if(rtmsg == 'success'){
alert("生成成功!");
}else if(rtmsg == 'fail'){
alert("生成失败!");
}
}
});
}
</script>
FristServlet 是生成一zip包
SecondServlet 是判断这个包是否存在,
10秒轮询一次,如果存在就用 ArticleServlet下载,
判断存在了,可还在轮询,怎么才能停啊 展开
展开全部
用clearInterval,如下
$(document).ready(function(){
c = setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
});
function checkIsExist(){
$.ajax({
type: "POST",
url: "/SecondServlet",
data: "date="+new Date(),
success: function(rtmsg){
if(rtmsg == 'exist'){
$("#download").html("<button onclick=\"window.open('/ArticleServlet');\">下载</button>");
window.clearInterval(c);
}
}
});
}
$(document).ready(function(){
c = setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
});
function checkIsExist(){
$.ajax({
type: "POST",
url: "/SecondServlet",
data: "date="+new Date(),
success: function(rtmsg){
if(rtmsg == 'exist'){
$("#download").html("<button onclick=\"window.open('/ArticleServlet');\">下载</button>");
window.clearInterval(c);
}
}
});
}
展开全部
show=setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
clearInterval(show);//取消函数调用
JS setInterval和clearInterval的用法2011-02-25 15:22setInterval() 可按照指定的时间周期(以毫秒计)来调用函数或计算表达式。
格式: setInterval(code,millisec)
参数 code: 要调用的函数或要执行的代码串。必须
参数 millisec: 时间间隔,表示每隔多少时间执行一次code函数或表达式....以毫秒计。必须
返回值:
一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
clearInterval() 方法可取消由 setInterval() 设置的 timeout。
clearInterval(id_of_setinterval)
参数:id_of_setinterval :由 setInterval() 返回的 ID 值。
clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。
clearInterval(show);//取消函数调用
JS setInterval和clearInterval的用法2011-02-25 15:22setInterval() 可按照指定的时间周期(以毫秒计)来调用函数或计算表达式。
格式: setInterval(code,millisec)
参数 code: 要调用的函数或要执行的代码串。必须
参数 millisec: 时间间隔,表示每隔多少时间执行一次code函数或表达式....以毫秒计。必须
返回值:
一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
clearInterval() 方法可取消由 setInterval() 设置的 timeout。
clearInterval(id_of_setinterval)
参数:id_of_setinterval :由 setInterval() 返回的 ID 值。
clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该用一个标志变量来控制那个 setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法,
比如你定义一个变量var isLunxun =1;
然后把轮讯放进一个判断里
$(document).ready(function(){
if(isLunxun){
setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
}
});
然后存在下载的时候,把那个标志变量的值设为0,这样不就停止了么
if(rtmsg == 'success'){
isLunxun =0;
alert("生成成功!");
}else if(rtmsg == 'fail'){
isLunxun =1;
alert("生成失败!");
我这个是个大概的思路,你可以参考一下,把你的代码改一下
比如你定义一个变量var isLunxun =1;
然后把轮讯放进一个判断里
$(document).ready(function(){
if(isLunxun){
setInterval(checkIsExist,10000);//每10秒执行一次checkIsExist方法
}
});
然后存在下载的时候,把那个标志变量的值设为0,这样不就停止了么
if(rtmsg == 'success'){
isLunxun =0;
alert("生成成功!");
}else if(rtmsg == 'fail'){
isLunxun =1;
alert("生成失败!");
我这个是个大概的思路,你可以参考一下,把你的代码改一下
更多追问追答
追问
从if(rtmsg == 'success'){
报错,
追答
报什么错?你之前有没有报错呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询