首页
学习
活动
专区
圈层
工具
发布

JSON与JSONP的区别

JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。...,更妙的是JSON还被js原生支持,所以在客户端几乎可以随心所欲的处理这种格式的数据; 5、这样子解决方案就呼之欲出了,web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件...剩下的就是如何把代码封装一下,以便于与用户界面交互,从而实现多次和重复调用。 什么?你用的是jQuery,想知道jQuery如何实现jsonp调用?...这里针对ajax与jsonp的异同再做一些补充说明: 1、ajax和jsonp这两种技术在调用方式上“看起来”很像,目的也一样,都是请求一个url,然后把服务器返回的数据进行处理,因此jquery和ext...3、所以说,其实ajax与jsonp的区别不在于是否跨域,ajax通过服务端代理一样可以实现跨域,jsonp本身也不排斥同域的数据的获取。

2.5K20

json & jsonp

image 对于JSON和JSONP,应该都不陌生,咳咳,不过最初对JSONP有点误解,以为是JSON的另外一个别名,其实二者风马牛不相及。...谈到Json和jsonp就不可避免要提到跨域这个话题了,以前对跨域的理解都是比较模糊的,还以为域名不同就是跨域了,那太狭隘了。非同源请求,均为跨域。 不过为什么会出现跨域?...人家这不是麻溜的回来了嘛,你倒是给我说说json和惊悚有啥不同。 “你知道啥是json么?”...方案如下: Web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件,客户端在对json文件成功调用之后,获得了自己所需的数据,这就是jsonp,该协议的一个要点就是允许用户传递一个...3、其实ajax与jsonp的区别不在于是否跨域,ajax通过服务端代理一样可以实现跨域,jsonp本身也不排斥同域的数据的获取。

1.8K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Json和Jsonp

    前言   JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。...JSON的格式或者叫规则:   JSON能够以非常简单的方式来描述数据结构,XML能做的它都能做,因此在跨平台方面两者完全不分伯仲。...,web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件(一般以JSON为后缀),显而易见,服务器之所以要动态生成JSON文件,目的就在于把客户端需要的数据装入进去。...如果对于callback参数如何使用还有些模糊的话,我们后面会有具体的实例来讲解。 Jsonp的客户端具体实现:  1.先来个最简单的一个。...毕竟是jsonp的服务者都要面对很多服务对象,而这些服务对象各自的本地函数都不相同啊?我们接着往下看。

    2.1K20

    jsonp获取json数据

    这两天做微信端JS接口,当时遇到的第一个问题就是权限验证的参数请求,当你请求access_token等的时候,就会存在跨域问题:然后在网上查了,采用ajax的jsonp进行跨域请求,后来报错了,返回的结果错误...然后认真看了一下文档,发现ajax的jsonp返回的数据是callback(json),卡到这里。...完成微信JS接口后,我返回来思考这个问题,还是希望找到一种方法,实现跨域请求json数据,不改变后端接口。最后在showbo的帮助下找到了解决办法,这里非常感谢showbo。...yahoo提供的jsonp代理:http://query.yahooapis.com/v1/public/yql 直接上代码: json: json的区别 } }); 注意:如果在请求的时候带有参数,为了安全考虑,这种请求最好放在后端。

    3.6K10

    JSON 和 JSONP 两兄弟

    这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决。   但到目前为止最被推崇或者说首选的方案还是用JSON来传数据,靠JSONP来跨域。...而这就是本文将要讲述的内容。   json与jsonp   json:一种数据交换格式   jsonp:一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。   ...这样子解决方案就呼之欲出了,web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件(一般以JSON为后缀),显而易见,服务器之所以要动态生成JSON文件,目的就在于把客户端需要的数据装入进去...3、所以说,其实ajax与jsonp的区别不在于是否跨域,ajax通过服务端代理一样可以实现跨域,jsonp本身也不排斥同域的数据的获取。   ...4、还有就是,jsonp是一种方式或者说非强制性协议,如同ajax一样,它也不一定非要用json格式来传递数据,如果你愿意,字符串都行,只不过这样不利于用jsonp提供公开服务。

    1.1K30

    说说JSON和JSONP( 含jquery例子)

    JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。...我们拿最近比较火的谍战片来打个比方,JSON是地下党们用来书写和交换情报的“暗号”,而JSONP则是把用暗号书写的情报传递给自己同志时使用的接头方式。看到没?...,更妙的是JSON还被js原生支持,所以在客户端几乎可以随心所欲的处理这种格式的数据; 5、这样子解决方案就呼之欲出了,web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件...OK,服务器很聪明,这个叫做flightResult.aspx的页面生成了一段这样的代码提供给jsonp.html(服务端的实现这里就不演示了,与你选用的语言无关,说到底就是拼接字符串): flightHandler...剩下的就是如何把代码封装一下,以便于与用户界面交互,从而实现多次和重复调用。 什么?你用的是jQuery,想知道jQuery如何实现jsonp调用?

    2.1K50

    JSON与XML的区别比较

    JSON相对于XML来讲,数据的体积小,传递的速度更快些。 (8).数据交互方面。 JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互。 (9).数据描述方面。...4.XML与JSON数据格式比较 (1).关于轻量级和重量级 轻量级和重量级是相对来说的,那么XML相对于JSON的重量级体现在哪呢?...所以,JSON和XML的轻/重量级的区别在于: JSON只提供整体解析方案,而这种方法只在解析较少的数据时才能起到良好的效果; XML提供了对大规模数据的逐步解析方案,这种方案很适合于对大量数据的处理。...虽然XML和JSON都有各自的编码工具,但是JSON的编码要比XML简单,即使不借助工具,也可以写出JSON代码,但要写出好的XML代码就有点困难;与XML一样,JSON也是基于文本的,且它们都使用Unicode...参考博客: 《XML与JSON的区别,总结》 《JSON 和 XML优缺点的比较》

    4.6K70

    jsonp介绍与jsonp封装

    首先说个很多刚接触的人都想问的问题:     jsonp到底是什么?...; 4、恰巧我们已经知道有一种叫做JSON的纯字符数据格式可以简洁的描述复杂数据,更妙的是JSON还被js原生支持,所以在客户端几乎可以随心所欲的处理这种格式的数据; 5、这样子解决方案就呼之欲出了...,web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件(一般以JSON为后缀),显而易见,服务器之所以要动态生成JSON文件,目的就在于把客户端需要的数据装入进去。...---- Jsonp原理: 首先在客户端注册一个callback, 然后把callback的名字传给服务器。 此时,服务器先生成 json 数据。...然后以 javascript 语法的方式,生成一个function , function 名字就是传递上来的参数 jsonp.

    2.8K50

    js数组、json、js对象的区别与联系

    (2)自定义js对象,这里我构造一个和json相似的对象来找到区别,这里写了两种构造方法 var person = {key:“value”} var person = new object();...person.key=“value” ; (3)json:一种存储和交换信息的格式,常态为var json = {“key”:“value”}的格式,这里和js对象不同的是key多了“” 区别与联系:...一、json对象与json字符串的联系: json对象 var json = { “key1”:“value1”, “key2”:“value2”, }; json...字符串,其实是一种json格式的字符串, 而json对象则是一种json格式的键值对对象(有对象的属性和方法), 所以json字符串不同于json对象,但是他们可以相互转化: eval(json...字符串) ==》 转化成json对象 JSON.stringify(json对象) ==》转化为json字符串 二、js对象与json对象 js对象, var person = {key:“

    12.3K40

    sso单点登录与Jsonp

    单点登录与Jsonp SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。...它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。...用户注册和传统的一样 用户登录 ####用户登录的大体思路: 传入用户名和密码 与数据库中的比对 如果相同 登录成功,生成token(UUID),设置键值 放入redis缓中 并设置过期时间 并把token...=token 其他系统显示用户信息 跨域调用单点登录系统的方法进行获取信息 用jsonp实现 Js不可以跨域请求数据。...解决js的跨域问题可以使用jsonp。 Jsonp不是新技术,跨域的解决方案。使用js的特性绕过跨域请求。Js可以跨域加载js文件。

    73610

    同源策略与JSONP

    实际上接下来介绍的基于JSONP跨域资源共享就是利用了这个特性。...采用JSONP实现跨域资源共享 上面我们已经说过:JavaScript脚本的源决定于其被加载的页面,而不是其存储的地址。...这种将JSON对象填充(Padding)到某个JavaScript回调方法将数据转换成针对数据的操作语句的形式就是JSONP(JSON Padding)。...JSONP仅仅是利用的src标签加载的脚本不受同源策略约束而采取的一种编程技巧,其本身并不是一种官方协议。...并且并非所有类型跨域调用都能采用JSONP的方式来解决(由于所有具有src属性的HTML标签均通过HTTP-GET的方式来加载目标资源,这决定了JSONP只适用于HTTP-GET请求),所以我们必须寻求一种更好的解决方案

    1.9K100

    JSONP挖掘与高级利用

    0x00 参考资料 利用JSONP进行水坑攻击 - 乌云知识库 JSONP 安全攻防技术 - 知道创宇 0x01 漏洞之我见 这里不多说JSONP的介绍等,大家都懂。...0x02 测试与构思 这个漏洞和xss结合是非常完美的一种攻击手段,而这个功能,在蚁逅平台中的蚁弹超人早已经很容易地得到实现。...用蚁弹超人中的JSONP探测插件的服务端代码来解释(已经去掉一些不好的接口): (function(API, AUTOSTART) { var JSONP = { hooks:...JSON.stringify(data) : String(data); API.ss('### ' + name + '\n```\n' + _data + '\n``...站在攻击者的角度去想,还可以搜索.json关键字,或者其他你觉得可能出现问题的任何字符: ? 2. 搜索挖掘 上面的挖掘方法有点蠢,不过也是获取最准确以及最新数据的最有效方法。

    1.5K100

    使用YQL解决跨域请求json转jsonp问题

    (dataType)指定为jsonp ,其实指定了这个默认就会开启跨域了,不用进行1操作 二、返回格式报错 这个问题的主要原因在于jQuery ajax要求请求数据类型和返回数据类型是一致的。...因为网站返回的数据类型是json,这跟我们指定的数据交互格式jsonp不一致,在调用时可以看到网络已经返回数据,但是$.ajax并不能以jsonp格式解析数据,在控制台报了如下错误: 这个问题就有点难度了...,请求格式不是jsonp,直接不让发送数据,而返回数据又固定为json,真是巨坑啊。...折腾了半天,最后解决方案如下:  使用雅虎提供的YQL代理将数据转换,并且支持网上绝大多数的数据格式,我们只需要按照它指定的格式提交地址即可。 ...', //雅虎代理要求的数据格式 data: { q: "select * from json where url

    62410
    领券