我尝试在Angular(4.2.4)中执行CORS请求,并且在使用GET方法时一切正常。但是当执行POST请求时,我收到此错误:
Response for preflight has invalid HTTP status code 403
有标题截图:
答案 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请求。