使用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 相关文章推荐
淘宝搜索框效果实现分析
Mar 05 Javascript
JavaScript判断一个URL链接是否有效的实现方法
Oct 08 Javascript
js验证是否为数字的总结
Apr 14 Javascript
jQuery$命名冲突怎么办如何解决
Jan 16 Javascript
Extjs表单输入框异步校验的插件实现方法
Mar 20 Javascript
Avalonjs双向数据绑定与监听的实例代码
Jun 23 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
Aug 24 Javascript
Vue.js的复用组件开发流程完整记录
Nov 29 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
Apr 04 Javascript
mpvue性能优化实战技巧(小结)
Apr 17 Javascript
js实现树形数据转成扁平数据的方法示例
Feb 27 Javascript
基于javascript实现日历功能原理及代码实例
May 07 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
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
Python原始字符串(raw strings)用法实例
2014/10/13 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
使用python爬取B站千万级数据
2018/06/08 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
编写python代码实现简单抽奖器
2020/10/20 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
教师见习报告范文
2014/11/03 职场文书
MySQL基础(一)
2021/04/05 MySQL
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL