【发布时间】:2019-04-30 03:14:04
【问题描述】:
我正在尝试使用 django 应用程序在 angularjs 中获取 api-data。当我尝试访问 api 时出现错误 - 如果 CORS 标头“Access-Control-Allow-Origin”为“*”且 CORS 请求未成功,则不支持凭据。 API 托管在单独的 django 应用程序中。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Bigflow.Core',
'rest_framework',
'Bigflow.API',
'rest_framework.authtoken',
'corsheaders'
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'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 # i teried false using CORS_ORIGIN_WHITELIST = (
'localhost:8001',
)
CORS_ALLOW_CREDENTIALS = True # i tried both false and true
我的 js
this.api = function () {
var response = $http.get("http://127.0.0.1:8000/Schedule_Master?Entity_gid=1&Action=FOLLOWUP_REASON&Schedule_Type_gid=1",{headers: {
'Authorization': 'Token 7111*******************',
'Accept': 'application/json',
'Access-Control-Allow-Origin':'*'
}})
return response;
}
我尝试了许多来自 stackoverflow 的解决方案。我无法解决我的问题,或者我想更改我的 api 托管服务器(Django 应用程序)中的任何配置。请指导我。在此先感谢
【问题讨论】:
标签: api http django-rest-framework cors