欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2024-01-14 10:12:58
...

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

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

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

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

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

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

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

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

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

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

回复内容:

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

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

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

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

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

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

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

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

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

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

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

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

相关标签: php javascript