gpt4 book ai didi

Django Rest Framework/Angular JS 预检选项

转载 作者:行者123 更新时间:2023-12-04 23:52:00 25 4
gpt4 key购买 nike

我的应用程序将 DRF 用于后端和使用 AngularJS 的 API。对于某些特定的 API,我面临以下问题。

XMLHttpRequest cannot load `http://localhost:8000/someurl`. The request was redirected to `'http://localhost:8000/someurl/'`, which is disallowed for cross-origin requests that require preflight.

我正在使用 django-cors-headers 并且我已经确保了我的设置。

  • 所有人都可以使用 Cors 来源。
  • Append_slash 设置为 True。
  • CORS_PREFLIGHT_MAX_AGE 已设置。
  • cors header 中间件已适当设置。

前端服务器在 localhost:3000 上运行。有什么帮助吗?谢谢。

最佳答案

我想我对这个问题有一个合理的发现。有一天可能对其他人有帮助。AngularJS $resource 从 URL 中删除“/”。 URL 'http://localhost:8000/someURL' 的预检 OPTIONS 请求被重定向到 'http://localhost:8000/someURL/' 因为 django APPENDS_SLASH默认情况下。因此预检请求被重定向。

要么我需要强制 $resource 不要从 URL 中删除“/”,要么强制 django 为 APPEND_SLASH = False 并相应地更新我的 URL。

关于Django Rest Framework/Angular JS 预检选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25719723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com