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

发布时间 - 2026-01-10 22:05:19    点击率:

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实现跨域获取数据实例讲解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# jsonp跨域实例  # jQuery使用JSONP实现跨域获取数据的三种方法详解  # 通过jsonp获取json数据实现AJAX跨域请求  # JavaScript用JSONP跨域请求数据实例详解  # 基于Jquery的跨域传输数据(JSONP)  # AJAX跨域请求之JSONP获取JSON数据  # AngularJS实现的JSONP跨域访问数据传输功能详解  # Ajax的jsonp方式跨域获取数据的简单实例  # jsonp跨域请求数据实现手机号码查询实例分析  # AJAX跨域请求JSONP获取JSON数据的实例代码  # jsonp跨域获取数据的基础教程  # 回调  # 小编  # 在此  # 给大家  # 转换成  # 则为  # 所述  # 创建一个  # 给我留言  # 感谢大家  # 疑问请  # 有任何  # my_json_cb  # random  # cbFuncName  # replace  # toString  # id  # querystring  # indexOf 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速搭建自助建站会员专属系统?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  如何做网站制作流程,*游戏网站怎么搭建?  网站建设要注意的标准 促进网站用户好感度!  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  如何快速建站并高效导出源代码?  JS中对数组元素进行增删改移的方法总结  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  *服务器网站为何频现安全漏洞?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  手机网站制作与建设方案,手机网站如何建设?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel如何保护应用免受CSRF攻击?(原理和示例)  浅谈javascript alert和confirm的美化  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  高端网站建设与定制开发一站式解决方案 中企动力  个人摄影网站制作流程,摄影爱好者都去什么网站?  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  详解Android——蓝牙技术 带你实现终端间数据传输  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何快速完成中国万网建站详细流程?  香港服务器如何优化才能显著提升网站加载速度?  Python3.6正式版新特性预览  青岛网站建设如何选择本地服务器?  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  实例解析angularjs的filter过滤器  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  Android okhttputils现在进度显示实例代码  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  BootStrap整体框架之基础布局组件  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  phpredis提高消息队列的实时性方法(推荐)  Swift开发中switch语句值绑定模式  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  微信小程序 input输入框控件详解及实例(多种示例)  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  如何在建站主机中优化服务器配置?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康