Nelmio CorsBundle仅适用于OPTIONS | Symfony的

时间:2018-04-10 21:31:48

标签: symfony request cors nelmiocorsbundle

好的,我有这个symfony项目,它使用两个不同的端口,

[客户] http://localhost:8080和[服务器] 127.0.0.1:3000。

很明显我得到了CORS错误,经过一些研究后我发现了Nelio CorsBundle for Symfony。但是,我指定的选项仅应用于OPTIONS / preflight请求,GET或POST保持不包含此捆绑包中的任何标头。这是我的设置:

  nelmio_cors:
    defaults:
        origin-regex: true
        allow_origin:   ["^http://localhost:[0-9]+"]
        allow_methods:  ["POST", "PUT", "GET", "DELETE", "OPTIONS"]
        allow_credentials: true
        allow_headers:  ["Content-Type", "authorization", "x-api-token", "cache-control", "x-requested-with"]
        expose_headers: ["link"]
        max_age: 3600
    paths:
        '^/': ~

并且OPTIONS请求它在事先处理之前完成,并且应用了所有给定的设置,但是后面的请求在控制台中显示以下错误:
Cross-Origin Request Blocked: (Reason: CORS header 'Access-Control-Allow-Origin' missing

在查看请求时,确实没有标题存在。有人知道为什么会这样吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

<强>解决

我是个白痴;这些要求仍然进入各自的行动,我发现这些行为很特殊。但是,由于我发送的参数不在请求中,但它们在我的请求参数中,我认为这是由于缺少原始标题。

为什么这些标题丢失了?我有一个死;在我的控制器中,我不知道删除了标题。我的参数丢失的原因完全不同。

所以,我的疏忽。