我做了一个 网页版的检索功能。
由前台发起搜索,后台执行搜索,将搜索结果返回。
碰到文件夹搜索,又文件夹下文件数量多的时候(2万以上),搜索时间很长(2分钟左右才能得出结果),有的时候我很没有耐心等下去,就点了停止搜索。
<code> // 终止搜索 stopSearch: function(){ console.log('xhr请求集合: ' , this.reqList); for (var i = 0; i </code>
点击停止搜索后,的确前台是停止了:
可是后台 php 脚本却仍在运行(且我设置了php脚本运行的最长时间为3min),每次页面刷新等好久(1min多),这还是比较老实的情况下(只发起一个),若是等到鸟火的时候,鼠标狂点,那估计我只好重启服务器了...汗(以下是狂点的后果,才点两三次,最长的请求时间就达到5min了...)!
有没有办法在停止请求的时候,也终止后台php脚本的运行??
我做了一个 网页版的检索功能。
由前台发起搜索,后台执行搜索,将搜索结果返回。
碰到文件夹搜索,又文件夹下文件数量多的时候(2万以上),搜索时间很长(2分钟左右才能得出结果),有的时候我很没有耐心等下去,就点了停止搜索。
<code> // 终止搜索 stopSearch: function(){ console.log('xhr请求集合: ' , this.reqList); for (var i = 0; i </code>
点击停止搜索后,的确前台是停止了:
可是后台 php 脚本却仍在运行(且我设置了php脚本运行的最长时间为3min),每次页面刷新等好久(1min多),这还是比较老实的情况下(只发起一个),若是等到鸟火的时候,鼠标狂点,那估计我只好重启服务器了...汗(以下是狂点的后果,才点两三次,最长的请求时间就达到5min了...)!
有没有办法在停止请求的时候,也终止后台php脚本的运行??
没有,你能做的就是优化你的搜索性能
只有从优化搜索性能上下手了。HTTP协议并不存在向后台发起请求终止的“请求”,而且如果前端服务器采用nginx的话,PHP应用服务器甚至不知道客户端已经断开了连接。
这种情况,只能从优化后台入手。