浏览器取消http请求(canceled),服务器如何判断呢?

服务器是koa2,我如何获取客户端取消了请求的操作?

clipboard.png

阅读 19.1k
3 个回答

http请求是典型的请求/响应模型。

发送了就是发送了, 接受了就是接受了。假如我发了一个请求到后端,后端又接受一个取消的请求。 后台逻辑怎么写? 就会乱套了。

如果你非要监听这种情况,可以在req.close中监听

因此`不存在后端取消的说法,所谓的取消只是前端单方面的不去处理这个请求的响应,换句话说就是
注销这个请求的回调函数,后端一般是不会对这个取消作出处理的 `

算是浏览器单方面违约,请求或者是没发出来,或者是被浏览器拒收,但无论哪种都不是服务器能感知到的。

另外不知道你这是什么场景引发的问题?

问题已经解决。

如果连接中断,服务器端也是可以判断的。
详情请参考这里

我是这样写的:

  ctx.req.on('close', () => {
    // ...
  })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题