使用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 相关文章推荐
jquery与google map api结合使用 控件,监听器
Mar 04 Javascript
JS 类型转换常见方法小结
May 31 Javascript
JS网页播放声音实现代码兼容各种浏览器
Sep 22 Javascript
javascript简单实现图片预加载
Dec 03 Javascript
Vue.JS入门教程之事件监听
Dec 01 Javascript
详解vue 数组和对象渲染问题
Sep 21 Javascript
vue 指令之气泡提示效果的实现代码
Oct 18 Javascript
创建echart多个联动的示例代码
Nov 23 Javascript
react写一个select组件的实现代码
Apr 03 Javascript
webpack常用配置总览(小结)
Nov 18 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
Jun 28 Javascript
element-ui tree结构实现增删改自定义功能代码
Aug 31 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
mysql建立外键
2006/11/25 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
给大家分享几个常用的PHP函数
2017/01/15 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
Python3基础之基本运算符概述
2014/08/13 Python
详解Python多线程
2016/11/14 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
如何客观的进行自我评价
2013/12/17 职场文书
培训演讲稿范文
2014/01/12 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
聚美优品陈欧广告词
2014/03/14 职场文书
公司员工活动策划方案
2014/08/20 职场文书
作风转变年心得体会
2014/10/22 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL
微信小程序调用python模型
2022/04/21 Python
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis