我的Django版本是1.8.6。我已将corsheaders文件夹复制到项目文件夹中。我已经点安装django-cors-headers(ver
1.1.0)。这是我的setting.py:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'MyWebsite_app',
'storages',
'rest_framework',
'corsheaders',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'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',
'django.middleware.security.SecurityMiddleware',
)
CORS_ORIGIN_ALLOW_ALL = True
这是我的jQuery:
function getLeague() {
$.ajax({
url: 'http://otherdomain.ashx?username=xxx&password=xxx&sportsBook=xxx&sportsType=xxx&gameType=xxx',
type: 'GET',
dataType: 'json',
success: function(data) {
alert('Success');
},
error: function(data) {
alert('Fail');
}
});
}
在执行getLeague()时,它会不断提醒“失败”。当我看到控制台时,它显示“
XMLHttpRequest无法加载http://otherdomain.ashx?username = xxx&password =
xxx&sportsBook = xxx&sportsType = xxx&gameType =
xxx。所请求的源上没有Access-
Control-Allow-Origin标头”。我应该在urls.py或view.py中添加一些代码吗?谢谢。
最好在您的应用程序中创建一个代理,该代理将依次调用另一个域并返回数据:
function getLeague() {
$.ajax({
url: '/crossdomainData',
type: 'GET',
dataType: 'json',
success: function(data) {
alert('Success');
},
error: function(data) {
alert('Fail');
}
});
}
使用django时,可以导入 Django HTTP Proxy 。
介绍
Django HTTP代理为Django Web开发框架提供了简单的HTTP代理功能。
它允许您通过运行Django应用程序的主服务器向外部服务器发出请求。
此外,它还允许您记录对这些请求的响应并随时回放。
import urllib2
def crossdomainData(request):
url = "http://otherdomain.ashx?username=xxx&password=xxx&sportsBook=xxx&sportsType=xxx&gameType=xxx"
req = urllib2.Request(url)
response = urllib2.urlopen(req)
return HttpResponse(response.read(), content_type="application/json")
我在django中使用spotify API/spotipy,需要用户登录到他们的帐户才能访问他们的数据。我使用了“pip3 install django-cors-Headers”并将适当的部分添加到settings.py. 即使这样,我仍然收到有关缺少访问控制允许源标头的错误,并且spotify登录页面无法打开。 jquery.min.js:2 XHR完成加载:GET"http://local
我已经有效地使用 wiremock 一段时间了,我想启用 CORS 对模拟 API 的访问。 我尝试在响应标头中设置访问控制允许来源:* 和其他标头,但都无济于事。 这是我的一个映射示例: 我到底做错了什么导致CORS无法工作? 提前谢谢。
这里使用Ajax:
本文向大家介绍DRF跨域后端解决之django-cors-headers的使用,包括了DRF跨域后端解决之django-cors-headers的使用的使用技巧和注意事项,需要的朋友参考一下 在使用django-rest-framework开发项目的时候我们总是避免不了跨域的问题,因为现在大多数的项目都是前后端分离,前后端项目部署在不同的web服务器上,因为我们是后端程序员,因此我要通过后端的程序
问题内容: 这来自django的文档: 领域独特 如果为True,则此字段在整个表中必须是唯一的。 这是在数据库级别并通过模型验证强制执行的。如果尝试在唯一字段中保存具有重复值的模型,则模型的save()方法将引发django .db.IntegrityError。 这是我的models.py 这是我的manage.py sqlall(我运行了syncdb) 但是,在manage.py shell
所以,基本上,前端使用reactJS,后端Spring Boot(微服务,zuul充当网关),当然,如果没有CORS的东西,他们什么也做不了。 我们使用了这段代码 它起作用了,但不再起作用了。我正在使用Postman检查发送回来的标头,但这些都不在那里。 我该怎么办?我可以在每个微服务中使用一个简单的CORS过滤器,但让Zuul处理这一切会容易得多。因为无论如何所有请求都会通过它。 有什么建议吗?