首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >django中“请求的资源上没有'Access-Control-Allow-Origin‘标头”

django中“请求的资源上没有'Access-Control-Allow-Origin‘标头”
EN

Stack Overflow用户
提问于 2014-03-18 18:16:03
回答 8查看 71.4K关注 0票数 51

我是django的新手,并将其用作创建用户的应用程序的后端。在前端,发布用户名的代码是:

var xobj = new XMLHttpRequest();
              xobj.overrideMimeType("application/json");
              xobj.open('POST', "http://www.local:8000/create_user/", true);
                xobj.setRequestHeader("Access-Control-Allow-Origin", "*");
              xobj.onreadystatechange = function () {
                  if (xobj.readyState == 4 && xobj.status == "200") {
                      console.log(xobj.responseText);
                  }
            }
              xobj.send(json);    

在后端,与url相关的函数处理json,但我收到错误消息"No 'Access-Control-Allow- Origin‘header is present on the requested .Origin 'http://www.local:54521’is not allowed access“。这个问题的解决方案是什么?我也遵循了"https://gist.github.com/strogonoff/1369619“中的步骤,但问题仍然存在。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2014-03-18 19:10:07

您的前端和后端位于不同的端口上,这意味着您的ajax请求受到跨域安全性的影响。

您需要将后端设置为接受来自不同来源(或只是不同端口号)的请求。

试着阅读CORS,更具体地说是django cors headers

票数 25
EN

Stack Overflow用户

发布于 2015-06-21 01:15:11

下面是当我从Restangular发送API请求时,从Django Rest Framework得到同样的错误时所做的事情。这样做的目的是将CORS (Cross-Origin Resource Sharing)头添加到Django Rest框架的响应中。没有CORS标头是导致错误的原因。

在Django Project根文件夹( manage.py文件所在的位置)中,执行以下操作:

pip install django-cors-headers

我尝试使用virtualenv,但无法让它工作,所以我在没有切换到virtualenv的情况下安装了它。

安装后,您必须对django settings.py进行一些编辑

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)

MIDDLEWARE_CLASSES = (
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
)

CORS_ORIGIN_ALLOW_ALL = True   

将上面的设置为true允许接受所有来源。

参考资料:https://github.com/ottoyiu/django-cors-headers

票数 88
EN

Stack Overflow用户

发布于 2016-03-14 20:48:18

在我的例子中,我只是忘了在REST API URL的末尾添加一个尾随斜杠。也就是说,我有这个:

http://127.0.0.1:8000/rest-auth/login

而不是这样:

http://127.0.0.1:8000/rest-auth/login/
票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22476273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档