使用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技巧来提高你的代码
Jan 08 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
Jun 17 Javascript
js如何实现设计模式中的模板方法
Jul 23 Javascript
使用js操作cookie的一点小收获分享
Sep 03 Javascript
引用外部脚本时script标签关闭的写法
Jan 20 Javascript
jQuery函数map()和each()介绍及异同点分析
Nov 08 Javascript
jQuery操作DOM之获取表单控件的值
Jan 23 Javascript
js动态生成Html元素实现Post操作(createElement)
Sep 14 Javascript
JavaScript学习笔记之数组的增、删、改、查
Mar 23 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
Feb 10 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
浅谈Vue.nextTick 的实现方法
Oct 25 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函数
2006/10/09 PHP
swfupload 多文件上传实现代码
2008/08/27 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
PHP自定义多进制的方法
2016/11/03 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
JavaScript中立即执行函数实例详解
2017/11/04 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
js实现全选反选不选功能代码详解
2019/04/24 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
Python操作MongoDB数据库PyMongo库使用方法
2015/04/27 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
爱与责任师德演讲稿
2014/08/26 职场文书
村道德模范事迹材料
2014/08/28 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
公司财务部岗位职责
2015/04/14 职场文书
员工离职通知函
2015/04/25 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL