使用jsonp实现跨域获取数据实例讲解


Posted in Javascript onDecember 25, 2016

js部分

(function(window, document) {
  'use strict';
  var jsonp = function(url, data, callback) {
    //1、挂载回调函数
    var fnsuffix = Math.random().toString().replace('.', '');
    var cbFuncName = 'my_json_cb' + fnsuffix;
    window[cbFuncName] = callback;
    //2、将data转换成url字符串的形式
    //{id=1,count=4}==>id=1&count=4
    var querystring = url.indexOf('?') == -1 ? '?' : '&';   //判断url中最后是否有?,没有则为?
    for (var key in data) {
      querystring += key + '=' + data[key] + '&';
    }
    //3、处理url中回调函数 url+=callback=sdgade
    querystring += 'callback=' + cbFuncName;
    //querystring=?id=1&count=4&callback=sdgade
    //4、创建一个script标签
    var scriptElement = document.createElement('script');
    scriptElement.src = url + querystring;
    //5、把script标签放到页面上
    document.body.appendChild(scriptElement);
  };
  window.$jsonp = jsonp;
})(window, document)

在页面中测试

<!DOCTYPE html>
<html>
<head>
  <title>jsonp</title>
</head>
<body>
  <div id="htt"></div>
  <script type="text/javascript" src="http.js"></script>
  <script>
    (function(){
      $jsonp('http://api.douban.com/v2/movie/in_theaters',{},  
        function(data){
          document.getElementById('htt').innerHTML=JSON.stringify(data);
        });
    })()
  </script>
</body>
</html>

结果可以返回结果,页面显示为,表示获取成功!

以上所述是小编给大家介绍的使用jsonp实现跨域获取数据实例讲解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
50个比较实用jQuery代码段
Sep 18 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
May 06 Javascript
Javascript获取HTML静态页面参数传递值示例
Aug 18 Javascript
js图片卷帘门导航菜单特效代码分享
Sep 10 Javascript
javascript实现数组去重的多种方法
Mar 14 Javascript
Angularjs结合Bootstrap制作的一个TODO List
Aug 18 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
Jun 21 Javascript
AngularJS自定义表单验证功能实例详解
Aug 24 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 jQuery
js form表单input框限制20个字符,10个汉字代码实例
Apr 12 Javascript
redux.js详解及基本使用
May 24 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
Apr 21 Javascript
JavaScript中数据类型转换总结
Dec 25 #Javascript
javascript实现用户点击数量统计
Dec 25 #Javascript
jQuery扩展+xml实现表单验证功能的方法
Dec 25 #Javascript
js实现图片切换(动画版)
Dec 25 #Javascript
根据Bootstrap Paginator改写的js分页插件
Dec 25 #Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
Dec 25 #Javascript
jQuery实现圣诞节礼物传送(花式轮播)
Dec 25 #Javascript
You might like
把PHP安装为Apache DSO
2006/10/09 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
jquery里的正则表达式说明
2011/08/03 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
jQuery实现多按钮单击变色
2014/11/27 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
学习JavaScript设计模式之策略模式
2016/01/12 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
2016/01/27 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
python flask框架实现传数据到js的方法分析
2019/06/11 Python
python操作kafka实践的示例代码
2019/06/19 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
极简的HTML5模版
2015/07/09 HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
2020/04/23 HTML / CSS
留学自荐信的技巧
2013/10/17 职场文书
酒店拾金不昧表扬信
2014/01/18 职场文书
物流业务员岗位职责
2014/02/08 职场文书
个人简历自荐信
2014/06/26 职场文书
商场促销活动总结
2014/07/10 职场文书
人事专员岗位职责说明书
2014/07/30 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
特岗教师个人总结
2015/02/10 职场文书
PyTorch 如何设置随机数种子使结果可复现
2021/05/12 Python