下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

web前端:jsonp格式前端发送和后台接受写法

作者:小小咸鱼YwY     来源: https://www.cnblogs.com/pythonywy/p/11806564.html点击数:938发布时间: 2020-03-11 10:48:26

标签: PythonjsonpAjax

Web开发

  Ajax的核心是Javascript对象XmlHttpRequest。该对象在InternetExplorer5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。

  jsonp是ajax提交的一种格式不会受跨域限制

  一.前端发送

  <button>11111</button>

  <scriptsrc="https://cdn.static.runoob.com/libs/jQuery/1.8.3/jquery.js"></script>

  <script>

  document.querySelector('button').onclick=function(){

  $.ajax({

  url:'http://localhost:8000/test',

  type:'get',

  dataType:'jsonp',

  data:{//注意内容必须为字典

  aaa:aaa//字典里内容前面key可以不加"",默认会给你加上""变成字符串但是不会当成变量

  },//字典后面value有''为字符串,没有为变量

  success:function(data){

  console.log(data);

  }

  });

  }

  </script>

  二.后台接受

  #我就拿Python举例,其他也大同小异

  fromdjango.shortcutsimportrender,HttpResponse,redirect

  deftest(request):

  callback=request.GET.get('callback')

  print(dict(request.GET))#传过来的内容他会打散,具体的自己看一下就知道

  #注意点返回的字符串必须是'callback+("返回的字符串")'这样的一个字符串,不然前端不会接收

  returnHttpResponse(callback+'("ok")')

  JSONP(JSONwithPadding)是JSON的一种"使用模式",可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于server1.example.com的网页无法与不是server1.example.com的服务器沟通,而html的<script>元素是一个例外。

赞(13)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程