使用thinkPHP8.x 访问接口提示跨域

情况, 其他大部分接口都正常, 只有那一个接口访问404 并且控制台提示跨域

先总结: 不是"查询模型就跨域",而是"查询模型后接口返回了 404/500,Nginx 把错误 JSON 改写成了没带 CORS 头的 HTML 错误页"。是伪装成了跨域,不是真的跨域.

方案A: 改Nignx, 把fastcgi_intercept_errors on; 改为: fastcgi_intercept_errors off;重载nginx;

php 复制代码
nginx -t

nginx -s reload 

方案B: 接口统一返回HTTP 200, 业务错误放JSON code

比如:

php 复制代码
return json(['code' => 404, 'message' => '支付订单不存在'])

而不是

return json(['code' => 404, 'message' => '支付订单不存在'], 404);
相关推荐
柒@宝儿姐1 分钟前
若依 B 端从浏览器访问升级为 Windows 安装包交付流程
前端·javascript·vue.js·windows
JaguarJack29 分钟前
对标 npx 的 CPX PHP 的 Composer 包执行器
后端·php·服务端
BingoGo32 分钟前
对标 npx 的 CPX PHP 的 Composer 包执行器
后端·php
Ivanqhz1 小时前
php7 闭包实现
开发语言·后端·rust·php
程序员黑豆5 小时前
鸿蒙应用开发:V1与V2版本数据持久化实战教程
前端·harmonyos
小月土星8 小时前
React Router 前端路由深度解析:从传统后端路由到现代 SPA 的完整演进
前端
程序员黑豆8 小时前
鸿蒙开发 Navigation 路由教程:从入门到实战
前端·harmonyos
XR1234567889 小时前
工厂车间无线网络方案对比:AGV漫游哪家强?
开发语言·php
現実君10 小时前
【硬件进阶】AD22上位替换JLEDA教程
开发语言·php
用户9385156350711 小时前
从零理解 React Router v6:每一个 API 都是怎么工作的
前端·javascript·全栈