php中断ajax,javascript - ajax请求终止后,怎么让请求的php也终止??

我做了一个 网页版的检索功能。

bVCQba

由前台发起搜索,后台执行搜索,将搜索结果返回。

碰到文件夹搜索,又文件夹下文件数量多的时候(2万以上),搜索时间很长(2分钟左右才能得出结果),有的时候我很没有耐心等下去,就点了停止搜索。

// 终止搜索

stopSearch: function(){

console.log('xhr请求集合: ' , this.reqList);

for (var i = 0; i < this.reqList.length; ++i)

{

if (this.reqList[i].readyState !== 0 || this.reqList[i].status !== 200) {

this.reqList[i].abort();

}

}

}

点击停止搜索后,的确前台是停止了:

bVCQbv

可是后台 php 脚本却仍在运行(且我设置了php脚本运行的最长时间为3min),每次页面刷新等好久(1min多),这还是比较老实的情况下(只发起一个),若是等到鸟火的时候,鼠标狂点,那估计我只好重启服务器了...汗(以下是狂点的后果,才点两三次,最长的请求时间就达到5min了...)!

bVCQfe

有没有办法在停止请求的时候,也终止后台php脚本的运行??

回复内容:

我做了一个 网页版的检索功能。

bVCQba

由前台发起搜索,后台执行搜索,将搜索结果返回。

碰到文件夹搜索,又文件夹下文件数量多的时候(2万以上),搜索时间很长(2分钟左右才能得出结果),有的时候我很没有耐心等下去,就点了停止搜索。

// 终止搜索

stopSearch: function(){

console.log('xhr请求集合: ' , this.reqList);

for (var i = 0; i < this.reqList.length; ++i)

{

if (this.reqList[i].readyState !== 0 || this.reqList[i].status !== 200) {

this.reqList[i].abort();

}

}

}

点击停止搜索后,的确前台是停止了:

bVCQbv

可是后台 php 脚本却仍在运行(且我设置了php脚本运行的最长时间为3min),每次页面刷新等好久(1min多),这还是比较老实的情况下(只发起一个),若是等到鸟火的时候,鼠标狂点,那估计我只好重启服务器了...汗(以下是狂点的后果,才点两三次,最长的请求时间就达到5min了...)!

bVCQfe

有没有办法在停止请求的时候,也终止后台php脚本的运行??

没有,你能做的就是优化你的搜索性能

只有从优化搜索性能上下手了。HTTP协议并不存在向后台发起请求终止的“请求”,而且如果前端服务器采用nginx的话,PHP应用服务器甚至不知道客户端已经断开了连接。

这种情况,只能从优化后台入手。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值