我正在使用 AngularJS 和基于 Django-Tastypie 的 REST API 开发一个 webapp 来获取数据。
为了能够执行 ajax 请求,我使用 django-cors-header 框架(https://github.com/ottoyiu/django-cors-headers)在 django 上启用了跨源资源共享,但我在 chrome 检查器中注意到预检在主请求被取消之前发送的请求(一个 OPTIONS 请求)几乎立即被取消,我在 Django 服务器日志中看到:"OPTIONS /api/airport/19643 HTTP/1.1" 301
我发现一些关于此的帖子建议'X-Requested-With'
从标头中删除参数($http.get 不允许 Access-Control-Allow-Origin 但 $.ajax 是)但这仅解决了 GET 请求的问题。因此,如果我尝试发送 PUT 或 POST 请求,则会发送预检请求并被取消!
这是我在启用 CORS 但不从标题中删除前一个参数时在检查器上看到的内容:
对于 PUT 请求,我也收到相同的错误。
我真的看不出问题出在哪里,所以我希望有人能指出我正确的方向。
非常感谢