zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    致敬我的2015
    葡萄城报表-导出输出
    葡萄城报表-内网发布
    葡萄城报表-核心代码展示
    点滴积累--工作总结
    解决WPF中ListViewItem对齐问题
    IIS上传文件失败
    HTTP 错误 404.4
    端口及IP复习
    请考虑将 "await" 运算符应用于调用结果
  • 原文地址:https://www.cnblogs.com/wen-kang/p/9768971.html
Copyright © 2011-2022 走看看