用ajax发起一个后台处理程序,关掉页面程序也无法停止,什么原因? 使用ajax请求后台一个处理程序,这个程序随时间推进会生成一个文本文件。我提前终止了页面,也删除了文本文件,可过一会文本文件又产生了,说明程序还在运行,即使关闭浏览器也无法终止。没有设置ignore_user_abort(),只设置了set_time_limit(0),怎么回事? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当你终止了(关闭了浏览器)页面时,你能确认 XMLHttpRequest 进程也终止了吗?至少我没有看到这方面的描述 理论上,关闭浏览器的情况下,SOCKET链接也应该关闭了,服务器应该终止当前任务才对。同问。 function get_feed(m_time){ if(!arguments[0]) m_time = "Not"; $.ajax({ url:'modules/douban/feedback.php', data:{'action':'getfeed','m_time':m_time}, type:"POST", dataType:'json', //contentType: 'application/json; charset=utf-8', cache:'false', //async: true, success:function(data){ m_time=data.m_time;//修改时间 if(typeof(data.process)=='undefined'){ var process_time='empty'; } else { var last_time=m_time; $.each(data.process,function(i,item){ var process_time=item.time; var each_process=item.str; if(each_process.length>0){ $("#processing").append(process_time+':'+each_process); } }); each_process=null; } if(process_time=='end_time'){ $.post('modules/douban/feedback.php',{action:'del_file'}); window.clearInterval(repeat); } else { repeat=window.setInterval(function(){get_feed(m_time);},30000); } }, complete:function(xhr,ts){//无论成功与否均会执行 //alert(ts); }, error:function(xhr){alert('发生了错误!');} }); },我用这个js用来请求后台处理进度(文本文件中),进度每次更新后会覆盖原来的内容,使用修改时间判断进度是否已更新。第一次(文本文件为空)执行没问题,当进度更新时,就出错,这个请求次数会以几何倍数增加,过不了多久浏览器就崩溃了。不知道哪里写错了? XMLHttpRequest.abort()取消当前响应,关闭连接并且结束任何未决的网络活动。这个方法把 XMLHttpRequest 对象重置为 readyState 为 0 的状态,并且取消所有未决的网络活动。例如,如果请求用了太长时间,而且响应不再必要的时候,可以调用这个方法。 fckeditor提交的内容怎么输出HTML正常格式啊? PHP测试问题 求一个word 插件 执行mysqldump的权限问题 [求救]php中有没有简单的可以对字符串加密解密的函数? 求代码 iis的怪毛病 不好意思,我就这么一点分了~~~ 100分求一个 SQL 语句 哪里有phpmyadmin可以下载 iframe如何与另一个iframe链接 php网页上传显示代码问题 请问在php中如何调用MFC的activeX控件?我在html里可以调用但在.php网页里就不能调用了
至少我没有看到这方面的描述
if(!arguments[0]) m_time = "Not";
$.ajax({
url:'modules/douban/feedback.php',
data:{'action':'getfeed','m_time':m_time},
type:"POST",
dataType:'json',
//contentType: 'application/json; charset=utf-8',
cache:'false',
//async: true,
success:function(data){
m_time=data.m_time;//修改时间
if(typeof(data.process)=='undefined'){
var process_time='empty';
} else {
var last_time=m_time;
$.each(data.process,function(i,item){
var process_time=item.time;
var each_process=item.str;
if(each_process.length>0){
$("#processing").append(process_time+':'+each_process);
}
});
each_process=null;
}
if(process_time=='end_time'){
$.post('modules/douban/feedback.php',{action:'del_file'});
window.clearInterval(repeat);
} else {
repeat=window.setInterval(function(){get_feed(m_time);},30000);
}
},
complete:function(xhr,ts){//无论成功与否均会执行
//alert(ts);
},
error:function(xhr){alert('发生了错误!');}
});
},我用这个js用来请求后台处理进度(文本文件中),进度每次更新后会覆盖原来的内容,使用修改时间判断进度是否已更新。第一次(文本文件为空)执行没问题,当进度更新时,就出错,这个请求次数会以几何倍数增加,过不了多久浏览器就崩溃了。不知道哪里写错了?
取消当前响应,关闭连接并且结束任何未决的网络活动。
这个方法把 XMLHttpRequest 对象重置为 readyState 为 0 的状态,并且取消所有未决的网络活动。例如,如果请求用了太长时间,而且响应不再必要的时候,可以调用这个方法。