为了账号安全,请及时绑定邮箱和手机立即绑定

使用 superagent 和 Lumen API 的 CORS 策略阻止了请求

使用 superagent 和 Lumen API 的 CORS 策略阻止了请求

PHP
慕神8447489 2022-11-12 13:16:36
我使用 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 上的副本:

在流明中启用 CORS

这是关于 lumen 中间件的官方文档:

https://lumen.laravel.com/docs/7.x/middleware

这里有一些结构良好且众所周知的中间件,它们将为您完成这项工作:


查看完整回答
反对 回复 2022-11-12
  • 1 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信