通过Angular完成的POST请求在Chrome上失败,但适用于Firefox

时间:2016-02-06 16:20:38

标签: java google-chrome spring-boot cors

通过angular($ http服务)发送一个POST请求,它发送一个内容类型为application / json的非空值在Chrome上失败但在Firefox和Safari上运行正常。如果有效负载为空,则成功。

我能够提出一个显示问题的例子。转到以下jsbin并单击“单击我”按钮:

https://jsbin.com/velija/edit?html,js,output

您可以在此处看到为后端供电的简单代码: https://github.com/czambran/corsProblem

如果您在Mac上使用Firefox或Safari执行上述操作,则会说成功但如果您在Chrome for Mac上执行此操作,则第二次调用将失败。

如果您更新代码以使$ http调用使用内容类型的application / json在数据属性上具有值“”,那么即使在Chrome上调用也会成功。

以下是Chrome for Mac控制台上显示的错误: XMLHttpRequest cannot load https://samplecorsapp.run.aws-usw02-pr.ice.predix.io/cors/corsRequestJson. The request was redirected to 'https://samplecorsapp.run.aws-usw02-pr.ice.predix.io/cors/corsRequestJson', which is disallowed for cross-origin requests that require preflight.

为什么会发生这种情况?

0 个答案:

没有答案