我在同一个问题上研究并阅读了不少Stackoverflow帖子.没有人解决我的问题.
我的问题是我的控制台中出现了"... No'Access-Control-Allow-Origin'标头出现在所请求的资源上......"错误.
我在用:
Chrome版本57.0.2987.133 Firefox版本52.0.2
Python 2.7 Django 1.11a1
AngularJS
我正在使用MAMP来提供我的前端Angular内容,以及用于后端内容的django服务器.
在我的django设置中,我已经包含了cors中间件,并尝试了白名单方法并将所有设置为true:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ORIGIN_ALLOW_ALL = True
Run Code Online (Sandbox Code Playgroud)
在谷歌浏览器上我仍然收到此错误:
localhost /:1 XMLHttpRequest无法加载{my endpoint url}.已从{my endpoint url}重定向到{my endpoint url with a}已被CORS策略阻止:请求的资源上没有"Access-Control-Allow-Origin"标头.因此,不允许原始{request url}访问.
它适用于Firefox,我无法弄清楚为什么它不适用于谷歌浏览器.我还没有尝试过任何其他类型的浏览器.非常感谢任何帮助,谢谢.
python django google-chrome django-rest-framework django-cors-headers