使用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


相关推荐: 详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  网站建设要注意的标准 促进网站用户好感度!  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Bootstrap CSS布局之列表  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  JS碰撞运动实现方法详解  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在服务器上三步完成建站并提升流量?  Android okhttputils现在进度显示实例代码  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  如何生成腾讯云建站专用兑换码?  JavaScript如何实现音频处理_Web Audio API如何工作?  黑客如何通过漏洞一步步攻陷网站服务器?  香港服务器租用费用高吗?如何避免常见误区?  JS中对数组元素进行增删改移的方法总结  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  创业网站制作流程,创业网站可靠吗?  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  如何构建满足综合性能需求的优质建站方案?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  如何选择PHP开源工具快速搭建网站?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Laravel如何使用Telescope进行调试?(安装和使用教程)  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  Android 常见的图片加载框架详细介绍  北京企业网站设计制作公司,北京铁路集团官方网站?  微信小程序 HTTPS报错整理常见问题及解决方案  如何快速搭建FTP站点实现文件共享?  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel如何记录自定义日志?(Log频道配置)  如何有效防御Web建站篡改攻击?  三星网站视频制作教程下载,三星w23网页如何全屏?  如何获取PHP WAP自助建站系统源码?  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  微信小程序 input输入框控件详解及实例(多种示例)