Django 1.9 + django-cors-headers + AJAX无法正常工作

大卫·古德(David Goudet)

我正在尝试在返回json的Django应用和运行AJAX的客户端之间进行跨站点通信。

我正在使用具有以下配置的django-cors-headers

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp.apps.MyAppConfig',
    'corsheaders',
]

MIDDLEWARE_CLASSES = [
    '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.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
  
]


CORS_ORIGIN_ALLOW_ALL = True

现在,我正试图允许所有连接只是为了进行测试。这是我的看法:

def index(request):
    if request.is_ajax:     
        results={}
        results=["The password is valid"]
        data_json=json.dumps(results)
        
    mimetype="application/json"
    return HttpResponse(data_json,mimetype)

我也尝试了装饰器@csrf_exempt。最后,这是我的AJAX:

$.ajax({
    url: "http://otherdomain.com/myapp/",
    type: "POST",
    crossDomain: true,
    data :{ 
            'username': $("#myName").val(),
        },
    dataType: "json",
    success:function(result){
        alert(JSON.stringify(result));
    },
    error:function(xhr,status,error){
        alert(status);
    }
});

控制台警告此:

XMLHttpRequest无法加载http://otherdomain.com/myapp/所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问源“ thisdomain.com”。

任何帮助将是有用的。非常感谢你。

valignatev

从您的评论中,我可以认为您忘记了在Web服务器/主机上启用cors支持。使用Dreamhost时,可以在此处参考其文档

就像@YPCrumble在他的回答中说的那样,当您有工作请求时,您可能想使用最新的Django-cors-middleware分支

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django-cors-headers不起作用

来自分类Dev

django-cors-headers和nginx config:飞行前响应缺少CORS头

来自分类Dev

如何使用 django-cors-headers 从数据库动态填充 CORS_ORIGIN_WHITELIST?

来自分类Dev

Django:Ajax POST发送对象数组的数据无法正常工作

来自分类Dev

Django + Jquery + Ajax + D3无法正常工作

来自分类Dev

使用ajax删除在Django中无法正常工作

来自分类Dev

Django信号无法正常工作

来自分类Dev

Django VirtualEnv无法正常工作

来自分类Dev

Django:HttpResponseRedirect无法正常工作

来自分类Dev

Django jQuery无法正常工作?

来自分类Dev

Django登录无法正常工作

来自分类Dev

django javascript无法正常工作

来自分类Dev

Django CORS标头无法按文件中的建议工作

来自分类Dev

我可以安装 django-cors-headers 1.1.0 版吗?如果是这样,如何?

来自分类Dev

AngularJS的Django CORS API

来自分类Dev

Django缓存无法正常工作cached_queries()不接受任何参数(给定1个)

来自分类Dev

django {%trans“ Hello”%}无法正常工作

来自分类Dev

django ALLOWED_HOSTS无法正常工作

来自分类Dev

django图像裁剪无法正常工作

来自分类Dev

Django教程:Runserver无法正常工作

来自分类Dev

Django图像上传无法正常工作

来自分类Dev

Django上的Celery无法正常工作

来自分类Dev

Python-Django时区无法正常工作

来自分类Dev

Django + RabbitMQ +芹菜。从视图无法正常工作

来自分类Dev

时区在Django中无法正常工作

来自分类Dev

我无法让Django字段集正常工作

来自分类Dev

Django allauth注册视图无法正常工作

来自分类Dev

Django 2.2 ORM排除无法正常工作

来自分类Dev

Django脆皮表单无法正常工作

Related 相关文章

热门标签

归档