首页 >后端开发 >php教程 >javascript - ajax请求终止后,怎么让请求的php也终止??

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

WBOY
WBOY原创
2016-09-08 08:43:531459浏览

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

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

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

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

<code>  // 终止搜索
  stopSearch: function(){
    console.log('xhr请求集合: ' , this.reqList);
    for (var i = 0; i </code>

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

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

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

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

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

回复内容:

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

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

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

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

<code>  // 终止搜索
  stopSearch: function(){
    console.log('xhr请求集合: ' , this.reqList);
    for (var i = 0; i </code>

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

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

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

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

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

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

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn