首页 > 其他分享 >什么是jsonp

什么是jsonp

时间:2023-05-09 13:12:25浏览次数:42  
标签:name 18 什么 jsonp 传递数据 data age

jsonp 是前端一种用来解决网站跨域的技术,利用script标签不受同源策略影响的特性引入一个非同源的js文件,并定义一个回调函数来接收数据,这样就可以实现跨域获取数据了,例如:
现在有一个链接返回的数据是这样的:

cb({
    "name": "swk",
    "age": 18
})

这是一个标准的jsonp格式,它通过调用函数cb来传递数据,那么我们只需要定义一个函数cb来接收数据就可以了,例如:

function cb(data) {
    console.log(data); //{ name: "swk", age: 18 }
}

那么我们只需要在页面中引入这个js文件就可以了,例如:

<script src="xxx.xxx?callback=cb"></script>

这样就可以实现跨域获取数据了,但是这种方式有一个缺点,就是只能通过get方式来传递数据,例如:

<script src="xxx.xxx?callback=cb&name=swk&age=18"></script>

这样就可以传递数据了,但是如果数据量比较大的话,那么就会有问题,因为get方式传递的数据是有长度限制的,所以这种方式只适合传递少量的数据,如果数据量比较大的话,那么就需要使用ajax的jsonp的方式来传递数据了,例如:

$.ajax({
    url: 'xxx.xxx',
    dataType: 'jsonp',
    jsonp: 'callback',
    data: {
        name: 'swk',
        age: 18
    },
    success: function (data) {
        console.log(data);
    }
})
jsonp的格式

一般情况下jsonp的内容是这样的:

callback({
    "name":"zhangsan",
    "age":18
})

也有有可能是这样的:

callback(
    'name',
    (function(a,b,c){
        return {
            name:a,
            age:b,
            gender:c
        }
    })('孙悟空',18,'男')
)

标签:name,18,什么,jsonp,传递数据,data,age
From: https://www.cnblogs.com/primice/p/17384564.html

相关文章

  • 什么是PMP?
    PMP(ProjectManagementProfessional)中文名称叫项目管理专业人士资格认证。它是由美国项目管理协会(PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证考试。简单理解,PMP的目的就是为了给项目管理人员提供统一的行业标准。PMP在全球200多个国家和地区推广,是目......
  • 关于vue中动态路由404 为什么要放最下面
    在vue在路由匹配机制中,对路由的匹配是从上到下的,通常使用{path:'*',redirect:'/404',hidden:true}进行404页面跳转,*代表获取所有路径标识,如果放在前面就会提前进行匹配到404页面,从而无法匹配到正确页面。所以我们需要将其放在最后,只有当页面不存在的时候再去匹配404页面,进......
  • 【视频】什么是非线性模型与R语言多项式回归、局部平滑样条、 广义相加GAM分析工资数
    全文链接:http://tecdat.cn/?p=9706最近我们被客户要求撰写关于非线性模型的研究报告,包括一些图形和统计输出。在这文中,我将介绍非线性回归的基础知识。非线性回归是一种对因变量和一组自变量之间的非线性关系进行建模的方法。最后我们用R语言非线性模型预测个人工资数据是否每年......
  • 什么是点对点传输?什么是点对多传输
    点对点技术(peer-to-peer,简称P2P)又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。P2P网络通常用于通过AdHoc连接来连接节点。这类网络可以用于多种用途,各种文件共享软件已经得到了广泛的使用。P2P技术也被使用在......
  • 恒创科技:香港服务器什么情况下需要更新升级?
    ​网站的正常运行离不开服务器的良好支持。任何服务中断都会减慢您的运营速度。通常情况下,随着企业业务的扩张,在使用香港服务器的过程中,难免会遇到高负载运行缓慢或性能不佳的情况。为了确保香港服务器的稳定性和性能,需要对其进行升级。那么,香港服务器什么情况下需要更新升级?......
  • TSBS 是什么?为什么时序数据库 TDengine 会选择它作为性能对比测试平台?
    去年8月我们在TDengine开发者大会上正式发布了TDengine3.0,TDengine也由此升级成为了一款云原生时序数据库(TimeSeriesDatabase,TSDB)。为了客观、准确、有效地评估TDengine3.0的性能指标,我们决定使用TSBS(TimeSeriesBenchmarkSuite)作为基准性能测试平台,针对DevOps......
  • AI互联网监管视频平台EasyCVR出现重复的GB设备目录是什么原因?如何解决?
    EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。有用户反馈,在使用EasyCVR时,GB设备的目录出现了重复的现象......
  • docker介绍、什么是虚拟化、docker是什么、容器与虚拟机比较、Docker 概念、docker安
    目录1docker介绍1.1什么是虚拟化2.1docker是什么2.2容器与虚拟机比较2.3Docker概念2docker安装1docker介绍1.1什么是虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破......
  • 为什么一裁员就先拿测试人员开刀,软件测试人员应该居安思危....(如何化解)
    软件测试人员应该居安思危每当经济不好,公司业绩不好的时候,公司都可能进行裁员。首先裁的就是测试人员。因为测试人员的技术水平相对来说比较低,容易被替代,招起来也比较容易。公司往往先拿测试人员开刀。身为测试人员,虽然我们平常的工作大部分都比较安逸。但是千万不能温水煮青......
  • 什么是AQS
    AQS(AbstractQueuedSynchronizer),即队列同步器,它是构建锁或者其他同步组件的基础框架,如ReentrantLock、ReentrantReadWriteLock、Semaphore,CountDownLatch等。AQS是一个抽象类,主要是通过继承方式使用,本身没有实现任何接口,仅仅是定义了同步状态的获取和释放的方法。AQS解决了了之类......