使用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 相关文章推荐
JavaScript起点(严格模式深度了解)
Jan 28 Javascript
js实现简洁大方的二级下拉菜单效果代码
Sep 01 Javascript
将鼠标焦点定位到文本框最后(代码分享)
Jan 11 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
JS批量替换内容中关键词为超链接
Feb 20 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
Sep 21 jQuery
js判断节假日实例代码
Dec 27 Javascript
angular 数据绑定之[]和{{}}的区别
Sep 25 Javascript
AngularJS上传文件的示例代码
Nov 10 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
Nov 28 Javascript
ES6 Object属性新的写法实例小结
Jun 25 Javascript
微信小程序实现分享商品海报功能
Sep 30 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变量可用字符
2014/05/28 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
2018/06/19 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
2019/03/06 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
Python实现对象转换为xml的方法示例
2017/06/08 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
python三方库之requests的快速上手
2019/03/04 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
Java语言程序设计测试题改错题部分
2014/07/22 面试题
如何写毕业求职自荐信
2013/11/06 职场文书
社区工作者思想汇报
2014/01/13 职场文书
工程管理专业毕业生自荐信
2014/01/24 职场文书
水电维修专业推荐信
2014/09/06 职场文书
学校师德师风整改方案
2014/10/28 职场文书
中国世界遗产导游词
2015/02/13 职场文书
城南旧事观后感
2015/06/11 职场文书
离婚协议书范文2016
2016/03/18 职场文书
同学会演讲稿
2019/04/02 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
OpenCV-Python实现人脸磨皮算法
2021/06/07 Python