我使用 PHP Lumen框架创建了一个 REST API,我使用以下方法删除了所有 CORS 开发限制:// Enable CORS on all API routesheader('Access-Control-Allow-Origin: *');header("Access-Control-Expose-Headers: Content-Length, X-JSON");header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');header('Access-Control-Allow-Headers: Origin, Authorization, Lang, Content-Type, X-Auth-Token');然后在前端我使用库superagent来调用它。例如我称之为路线POST http://127.0.0.1:8000/auth/register:superagent.post('http://127.0.0.1:8000/auth/register').send({ name: 'name', email: 'test@test.test', password: '1234Test'}).type('application/json') .end((err, res) => { console.log(res) console.log(err) })遗憾的是,我收到一条我无法理解的 CORS 错误消息:从源“ http://localhost:9000 ”访问“ http://127.0.0.1:8000/auth/register ”处的 XMLHttpRequest已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态。我做了一些研究,但我找不到任何错误It does not have HTTP ok status,并且在 Postman 上测试同样的请求没有给我任何错误,而是正常的行为。有人知道我该如何解决吗?在哪里可以找到有关此类错误的一些文档?
1 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
我很好奇为什么您要自己“手动”设置标头,而不是使用一些现有的和经过验证的 CORS-Middlwares,这将为您带来所有的魔力。除非您在学习案例中需要它,否则我会避免重新发明轮子。
这是 stackoverflow 上的副本:
这是关于 lumen 中间件的官方文档:
https://lumen.laravel.com/docs/7.x/middleware
这里有一些结构良好且众所周知的中间件,它们将为您完成这项工作:
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消