首页 > 代码库 > python Django 跨域解决方案

python Django 跨域解决方案

django解决跨域请求的问题

解决方案

1.安装django-cors-headers

pip install django-cors-headers

内容详见:https://github.com/ottoyiu/django-cors-headers

 

其他解决方

1.使用JSONP

使用Ajax获取json数据时,使用JSONP,JSONP只能用于GET请求,红色部分是注意事项

$.ajax({
        url:‘http://localhost:8000/hello/‘,
        data:data,
        type : ‘GET‘,
        async : true,
        contentType: "application/json; charset=utf-8",
        dataType : ‘jsonp‘,
        jsonp:"callback",
        jsonpCallback:"success_jsonpCallback",
        success: function(data){    
            if (data.data) {    
                alert(true);            
            } else {
                return;
            }
        } ,
        error:function(e){
            alert(‘error‘);
        }
    });

后台代码:

def hello(request):
    lst=you_get.main(repo_path="" + _filepath + "", opt=-u, url="http://v.youku.com/v_show/id_XMjg4MTUwNjEzNg==.html")
    data={"data":lst}
    import json
    ljson=json.dumps(data)
    result = "success_jsonpCallback(" + ljson + ")";
    response = HttpResponse(result)
    return response

 

python Django 跨域解决方案