【问题标题】:how to allow django rest api to response requests made from different hosts?如何让 django rest api 响应来自不同主机的请求?
【发布时间】:2018-03-18 08:19:39
【问题描述】:

我使用 djangorestframework 开发了一个 web api,但是当我使用 angularJS 使用 api 时,浏览器显示错误

XMLHttpRequest 无法加载 http://127.0.0.1:8000/webapi/orders。对预检请求的响应 > 未通过访问控制检查:否 'Access- 请求的资源上存在 Control-Allow-Origin 标头。 Origin > 'http://127.0.0.1:37749' 因此不允许访问。

  • angularJS 应用托管在 127.0.0.1:37749/ 和
  • django api 托管在 127.0.0.1:8000/

如何配置settings.py来解决这个问题? 请帮忙!!!

【问题讨论】:

    标签: angularjs cors django-rest-framework


    【解决方案1】:

    您在使用跨域资源共享时遇到问题。

    请参阅http://www.django-rest-framework.org/topics/ajax-csrf-cors/#cors 以获取解决方案。特别是 django-cors-headers 是您想要解决的问题。

    【讨论】:

    • 您好,感谢您的回答。我按照您提供的链接中的步骤操作,但现在浏览器显示Request header field Access-Control-Allow-Origin ? is not allowed by Access-Control-Allow-Headers in preflight response。你能解释一下吗?
    • 不知道。按照 django-cors-headers 指南,我设法让它和研讨会参加者一样工作。
    猜你喜欢
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 2016-07-16
    • 2018-09-17
    相关资源
    最近更新 更多