接口请求了两次,一次报200,一次报404

实际上,预检(OPTIONS) 200 并不代表接口存在,POST 404表示后端没有这个路径,或者说路径不在这个server上。也就是说,跨域是通的,但接口地址是错的/不存在。

现在的网络面板

分别解释各自的意思:

1、OPTIONS是什么

浏览器在发POST + FormData之前,会先问一句:"我能不能向你这个地址,用POST,带文件,带headers发请求"

这就是CORS预检请求------preflight。

OPTIONS 200说明有一个服务器在这个地址上响应了,并且返回了类似:

Access-Control-Allow-Origin: *

Access-Control-Allow-Methods: POST

2、POST 404

表示服务器明确告诉"这里没有 /api ",也就是说接口路径不对。

3、为什么会出现OPTIONS有,POST没有

这是因为很多后端/网关/Nginx会这样配置:

location /api/ {

add_header Access-Control-Allow-Origin *;

add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

if ($request_method = OPTIONS) {

return 200;

}

}

OPTIONS被统一放行,POST再交给后端路由处理。

相关推荐
醇氧44 分钟前
CountDownLatch / CyclicBarrier / Semaphore 面试高频问答清单
前端·面试·职场和发展
qetfw2 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
甲维斯2 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能
a1117762 小时前
微光小屋-前端养成小游戏 开源项目
前端
kyriewen3 小时前
我让AI给前端项目做了一次完整的Code Review——它和人类的差距,比我想的大得多
前端·javascript·ai编程
张鑫旭3 小时前
快速过下我2026年上半年的前端学了些啥
前端
এ慕ོ冬℘゜3 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
hoLzwEge3 小时前
拯救低效调试!code-inspector-plugin 让代码定位如虎添翼
前端·前端框架·node.js