django解决ajax跨域请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django解决ajax跨域请求相关的知识,希望对你有一定的参考价值。

由于jquery禁止通过ajax进行跨域请求,所以在通过ajax请求另外一个不同域名服务api的时候会报错:“No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘null‘ is therefore not allowed access”


最简单的两个解决办法:

1、在django中return的时候设置

def xxxxx(request):
        ....
    resp = HttpResponse(json.dumps({‘code‘:code,‘msg‘:msg,‘data‘:data},ensure_ascii=False))
    resp["Access-Control-Allow-Headers"] = "*"
    return resp

2、在nginx中设置

      add_header Access-Control-Allow-Origin *;
      add_header Access-Control-Allow-Headers X-Requested-With;
      add_header Access-Control-Allow-Methods GET,POST,OPTIONS;


以上是关于django解决ajax跨域请求的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Ajax 跨域请求不到的问题

python Django 跨域解决方案

前端设置请求头可以解决跨域问题吗

解决携带身份信息的跨域请求

Cors跨域请求问题

AJAX 跨域解决方案