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

网络响应不发送“允许来源”标头

网络响应不发送“允许来源”标头

PHP
精慕HU 2021-09-05 20:53:22
当我尝试更新数据库对象时,我的 Web 应用程序出现此错误:从源“ http://localhost:8080 ”访问“ http://localhost:3001 ”处的 XMLHttpRequest已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。这些是网络请求:Preflight request ; PUT 请求;我使用 Slim 进行服务器路由,使用 Vue 进行客户端路由,使用 axios 进行数据库连接。响应中似乎缺少允许原始标头,但我已将服务器设置为发送它:$app->add(function ($req, $res, $next) {    $response = $next($req, $res);    return $response        ->withHeader('Access-Control-Allow-Origin', '*')        ->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Allow, Origin, Authorization, Access-Control-Allow-Origin')        ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');});Wich 处理不同状态的对象(表值)。我怀疑它没有对这种特定状态的对象使用该响应,但它使用相同的形式和方法。我不明白为什么它会使用不同的响应。更新我正在尝试更新(文档)的表用作数据库中另一个表(修正)的外键。我发现,如果我从文档中取消链接修正案,则更新有效。也许 CORS 错误是误报?
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

毕竟这是一个误报。我试图发送到数据库的实体内部的数组似乎是问题所在。从请求中删除它后,更新工作完美。


查看完整回答
反对 回复 2021-09-05
  • 1 回答
  • 0 关注
  • 142 浏览

添加回答

举报

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