服务器应答Access-Control-Allow-Origin为生产设置的值.当请求来自我的开发服务器时,有没有办法允许?例如,是否有Django设置禁用跨源检查DEBUG=True?
我无法修改Access-Control-Allow-Origin.请求是使用jquery ajax函数完成的.
编辑:
我已经安装了https://github.com/ottoyiu/django-cors-headers用pip install django-cors-headers,添加下面的我settings.py
if DEBUG:
INSTALLED_APPS += ('corsheaders', )
CORS_ORIGIN_ALLOW_ALL = DEBUG
Run Code Online (Sandbox Code Playgroud)
并把中间件:
MIDDLEWARE_CLASSES = [
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
...
}
Run Code Online (Sandbox Code Playgroud)
但我仍然得到错误:
阻止跨源请求:同源策略禁止在_request_url_读取远程资源.(原因:缺少CORS标题'Access-Control-Allow-Origin').
如果我检查响应头,我没有看到任何Access-Control-Allow-Origin参数.
安装中间件:https://github.com/ottoyiu/django-cors-headers
在django settings.py中添加以下设置:
DEBUG=True
CORS_ORIGIN_ALLOW_ALL = DEBUG
(如果DEBUG为true Access-Control-Allow-Origin将被添加到标题中以作响应)
要将 CORS 标头添加到您的响应中,请将其安装到您的 django 项目中:
https://github.com/ottoyiu/django-cors-headers
由于您想从本地连接,因此无法单独将特定主机列入白名单。
要仅在具有 时启用 CORS DEBUG=True,您可以仅在 Debug 为 True 时将 corsheaders 添加到已安装的应用程序:
if DEBUG is True:
INSTALLED_APPS += ('corsheaders', )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6971 次 |
| 最近记录: |