POST方法自动转换为OPTIONS

时间:2015-05-05 06:34:45

标签: angularjs rest http cors restful-url

基本上我使用的是POST方法,但它会自动转换为OPTIONS方法。我知道浏览器会这样做,但也读到它很好,应该得到201的响应,但在我的情况下,它没有按预期运行,我也尝试了请求标头中的Access-Control-Allow-Methods但是没有得到任何东西。

这就是我的请求:

OPTIONS http://xyz/abc
Accept: application/json
Content-Type: application/json

响应:

405, Method Not Allowed
Access-Control-Allow-Origin: *
Date: Tue, 05 May 2015 06:15:19 GMT
Connection: close
Accept-Ranges: bytes
Access-Control-Allow-Headers: authorization, content-type
Content-Length: 0
Access-Control-Allow-Methods: GET, PUT, POST, DELETE, HEAD

任何人都可以告诉我这个问题的原因以及在经过足够的研究后,一切看起来都很好的原因可能是什么原因。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可能在跨源资源共享的POST请求期间看到了飞行前检查。我不知道您的网络服务器需要如何设置以支持此功能,但这篇维基百科文章可能是第一个帮助:http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

最简单的解决方案是在与您加载网页的位置相同的原点上执行POST请求。反向代理可能是一个合理的解决方案。