使用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 分钟前
Day04_ES6完全指南:从入门到精通的现代化JavaScript开发
前端·javascript·es6
Coffeeee5 分钟前
一个kotlin的Smart cast导致的编译问题
android·前端·kotlin
2401_868534788 分钟前
防火墙的具体概念
服务器·网络·php
CodeSheep12 分钟前
胡彦斌都开始苦修Vibe Coding,还上架App Store,都卷到编程来了吗?
前端·后端·程序员
薄荷椰果抹茶13 分钟前
前端技术之---打字机效果与流式输出
前端
Mintopia15 分钟前
Tanstack为什么会火
前端
DongWook16 分钟前
关于Harness Engineering的一次实践
前端·后端
风骏时光牛马17 分钟前
Kotlin开发高频疑难问题汇总梳理
前端
暗冰ཏོ17 分钟前
ECharts 前端图表开发全攻略:参数配置、项目实战与高级可视化资源整理
前端·vue.js·echarts·visual studio code
PILIPALAPENG21 分钟前
gh:终端里的GitHub总控台,AI时代的开发者神器
前端·人工智能·后端