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

 更新时间:2016年12月25日 10:45:58   作者:沛东  
这篇文章主要介绍了使用jsonp实现跨域获取数据实例讲解,需要的朋友可以参考下

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递归回溯法解八皇后问题

    网上看到许多关于八皇后算法的文章,很少能看到使用javascript来实现的,今天就给大家使用javascript来解决下这个问题,有需要的小伙伴可以参考下。
    2015-04-04
  • JavaScript躲避行星游戏实现全程

    JavaScript躲避行星游戏实现全程

    本文将使用 canvas 创建一个躲避小行星游戏。另外将重点介绍的两个方面是:如何使用 JavaScript 来检测键盘输入,以及如何在游戏中使用和处理 HTML5 音频。希望你能够喜欢
    2022-08-08
  • 基于JS实现一个简单的投票demo

    基于JS实现一个简单的投票demo

    这篇文章主要介绍了如何利用JavaScript实现一个简单的投票demo,文中的示例代码讲解详细,对我们学习有一定参考价值,需要的可以参考一下
    2022-06-06
  • JavaScript 中的 parseInt() 函数详解

    JavaScript 中的 parseInt() 函数详解

    parseInt函数将其第一个参数转换为一个字符串,对该字符串进行解析,然后返回一个整数或 NaN,这篇文章主要介绍了JavaScript 的 parseInt() 函数,需要的朋友可以参考下
    2023-05-05
  • javascript实现炫酷的拖动分页

    javascript实现炫酷的拖动分页

    非常酷的javascript拖动分页功能,无缝循环分页,拖动鼠标即可完成分页,鼠标向左拖动回到前一页,向右拖动则翻开第二页,还带有动画特效,着实很不错,界面黑色,非主流风格,相信很多人会喜欢的。
    2015-05-05
  • JavaScript在多浏览器下for循环的使用方法

    JavaScript在多浏览器下for循环的使用方法

    JavaScript语言在不同的浏览器的下有存在细微的差异,但不像DOM操作差异那么大,现在为大家列举出其中一个"for循环"的差异,并介绍如何有效的解决这种差异
    2012-11-11
  • echarts统计x轴区间的数值实例代码详解

    echarts统计x轴区间的数值实例代码详解

    这篇文章主要介绍了echarts统计x轴区间的数值,本文给出了实现实例及实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • JavaScript之事件委托实例(附原生js和jQuery代码)

    JavaScript之事件委托实例(附原生js和jQuery代码)

    下面小编就为大家带来一篇JavaScript之事件委托实例(附原生js和jQuery代码)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Javascript中replace方法与正则表达式的结合使用教程

    Javascript中replace方法与正则表达式的结合使用教程

    replace方法是javascript涉及到正则表达式中较为复杂的一个方法,严格上说应该是string对象的方法,下面这篇文章主要给大家介绍了关于Javascript中replace方法与正则表达式的结合使用的相关资料,需要的朋友可以参考下
    2022-09-09
  • WebGL高级变换之Matrix4使用介绍

    WebGL高级变换之Matrix4使用介绍

    这篇文章主要为大家介绍了WebGL高级变换之Matrix4使用介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04

最新评论