django实现简单的跨域请求数据

用jsonp去实现跨域请求数据:

即用伪ajax去请求:

 1 <script>
 2     $("#show").click(function () {
 3         $.ajax({
 4             url:"http://www.jxntv.cn/data/jmd-jxtv2.html",
 5             type:'get',
 6             dataType:'jsonp',
 7             jsonp:'callbacks',
 8             jsonpCallback:'list',   #实际上list就是与对方服务器约定好的方法 通过调用此方法来获取对方传输的数据
 9             success: function (data) {
10                 console.log(data.data);
11                 var html="";
12                 $.each(data.data,function (index,weekday) {
13                     console.log(weekday);
14                     html+='<p>'+weekday.week+'</p>';
15                     $.each(weekday.list,function (i,show) {
16                         console.log(show);
17                         html+='<p><a href='+show.link+'>'+show.time+show.name+'</a></p>'
18                     })
19                 });
20                 $("body").append(html)
21             }
22         })
23     })
24 </script>

如果写jsonCallback 就说明在调用它后面的方法时同时在后面拼接了一串随机字符串

没用此参数,说明就是用简单的随机字符串作为方法来调用。

对面的服务器做出相应响应:

1 import json
2 def server(request):
3     func=request.GET.get("callbacks")
4     info={"name":"kevin","age":18,"addr":"湖北武汉"}
5     return HttpResponse('%s(%s)'%(func,json.dumps(info)))

 若是使用cors去实现跨域请求:

更为直观一些,事实上就是在希望跨域的服务器上先注册本机的IP和端口,让浏览器不在阻止数据的访问。

1  info={"name":"kevin","age":18,"addr":"湖北武汉"}
2     response= HttpResponse(json.dumps(info))
3     response["Access-Control-Allow-Origin"]="http://127.0.0.1:8000"
4     # response["Access-Control-Allow-Origin"] = "*" #全部允许访问
5     return response
原文地址:https://www.cnblogs.com/wen-kang/p/9768971.html