我的应用程序将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,我已经确保了我的设置。
Append_slash
设置为True。CORS_PREFLIGHT_MAX_AGE
已设置。前端服务器在localhost:3000上运行。 有帮助吗? 感谢。
答案 0 :(得分:2)
我想我对这个问题有了合理的发现。总有一天可能对别人有帮助。
AngularJS $资源删除' /'来自网址。并且预检OPTIONS请求网址'http://localhost:8000/someURL'
被重定向到'http://localhost:8000/someURL/'
,因为默认为django APPENDS_SLASH。因此预检请求被重定向。
要么我需要强制$资源不要删除' /'从URL或强制django到APPEND_SLASH = False
并相应地更新我的网址。