You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Express中preflightContinue配置下OPTIONS请求处理的技术问询

Express CORS预检OPTIONS请求处理详解

1. preflightContinue: true 与 preflightContinue: false 的区别

  • preflightContinue: false:cors中间件会直接完成OPTIONS预检请求的处理——自动添加所有必要的CORS响应头,返回204状态码结束请求,不会把请求传递给后续的中间件或路由。
  • preflightContinue: true:cors中间件仅负责添加CORS相关的响应头,不会主动结束请求,而是将OPTIONS请求继续传递到Express中间件链的下一个环节,由后续的中间件或路由处理函数来完成响应(比如返回指定状态码、自定义响应内容)。

2. Express cors中间件的默认设置

你的猜测正确,preflightContinue的默认值就是false。

3. preflightContinue: true 时OPTIONS请求的响应逻辑

这种情况下,OPTIONS请求不会自动完成响应,具体流程如下:

  1. cors中间件先为请求添加上CORS响应头;
  2. 请求进入后续的中间件/路由处理流程;
  3. 必须由后续的某个中间件或路由处理函数调用res.send()、res.end()等方法,才能结束OPTIONS请求。
    如果没有对应的后续处理逻辑,Express会默认返回404状态码,甚至可能导致请求超时(如果没有任何处理结束请求的话)。

内容的提问来源于stack exchange,提问作者Alexander Mills

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 19:02:48