情况, 其他大部分接口都正常, 只有那一个接口访问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);