预检的响应包含无效的HTTP状态代码403(Angular 4)

时间:2017-10-30 12:36:03

标签: angular cors

我尝试在Angular(4.2.4)中执行CORS请求,并且在使用GET方法时一切正常。但是当执行POST请求时,我收到此错误: Response for preflight has invalid HTTP status code 403 有标题截图: enter image description here

1 个答案:

答案 0 :(得分:0)

这是预期的行为。 由于您的请求不是简单的请求,因此浏览器以OPTIONS方法执行了预检请求。

您的API服务器不支持此方法。

解决方法是在API中添加对OPTIONS方法的支持。当有OPTIONS方法和' origin'请求标头中的标头,响应空白内容"访问控制 - 允许 - 来源","访问控制 - 允许 - 方法","访问控制 - 允许-headers"头。

作为PHP中的实现,在这里找到答案:Backbone & Slim PHP - Access-Control-Allow-Headers - Can GET information, can't POST it?

一旦客户端浏览器收到OPTIONS响应,并使用适用的access-control-allow- *标头,它就会引发POST请求。