JSONP原理

JSONP(JSON with Padding),就是异步请求跨域的服务器端时,不是直接返回数据,而是返回一个js方法,把数据作为参数传过来。如果只是跨域传递数据那么这种方式是比较好的。字面理解就是:利用内填充的原理,将json填充到一个box中的概念。

原理总是又饶又拗口,直接来个简单的小例子吧!

在www.aaa.com 页面中:

<script type="text/javascript"
src="http://www.bbb.com/jsonp.js"></script>
<script type="text/javascript">
function jsonp(json){alert(json[‘name’]);
}
</script>

在www.bbb.com/jsonp.js 中:

jsonp({'name':'twobin','age':24});

则页面会弹出“twobin”,是否更为直观好理解一点呢!

我们可以取到www.bbb.com/jsonp.js,里面是一个名为jsonp的函数(这个函数名称可以自定义),这个函数也会被加载到www.aaa.com。加载完成后,就应该执行jsonp了,然后我们在www.aaa.com定义jsonp函数,这个函数里写一些处理数据的语句。这样其实就简单地实现了跨域访问数据了,这也就是JSONP的工作原理了。而“JSON with Padding”的意思,就是jsonp(json)中的json,即

{'name':'twobin','age':24}

这个JSON对象被包在jsonp这个函数中当作参数来被处理,而“JSON with Padding”这个词很形象地形容了这个过程。

JSON 是个什么东西呢?

它其实就是一个js的变量,放到另一个js里是使用

如  json({"name":"li","age":"18"})  1.js   。要在另一个html文件里调用  这个json  (不一定是json,可以是任意一个变量如,f({"":""}), b({"":""})都可以)

调用代码

function f(date){alert(date['name'])
}

来源:http://www.cnblogs.com/twobin/p/3395086.html

json 是个什么东西?相关推荐

  1. JSON是个什么东西?

    JSON是什么? JSON 是一种数据格式.它本身是一串字符串,只是它有固定格式的字符串,符合这个数据格式要求的字符串,我们称之为JSON. JSON 常用来数据传输,因为它易于程序之前读写操作. J ...

  2. JSON.stringify() / JSON.parse() / JSON 真是个好东西

    目录 1. JSON 基本概念 1.1 JavaScript 对象表示法 1.2 JSON 文件 1.3 JSON 语法 2. XML VS JSON 2.1 共同点 2.2 不同点 2.3 使用步骤 ...

  3. JSON:如果你愿意一层一层剥开我的心,你会发现...这里水很深——深入理解JSON...

    2019独角兽企业重金招聘Python工程师标准>>> 我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify后的字符串是 ...

  4. ruby json转化成对象_系统架构迁移实例:从Ruby到Rust

    前几年随着RoR(Ruby on Rails)框架的流行,很多初创企业选择Ruby和Rails作为基础开发框架,构建和快速迭代了其业务系统.但是随着业务规模的不断壮大,性能问题成了一个突出的问题,所以 ...

  5. 利用FastJSON 把list和map转换成Json

    JSON 是个好东西,就是第三方的库太多了有木有.今天在把List转化成JSON的时候,在网上找到的方法,就用了各种第三方的库,把自己搞晕了,其实是很简单.所以做事情的时候一定要思路清晰,导入的包也是 ...

  6. php接口datatype= text,关于php:dataType:“json”不起作用

    我正在尝试使用数组中的json将多个变量从php文件发送回ajax. php文件中的代码完美运行,并且应该像我的数据库一样完成所有操作. 但是当我在ajax中添加dataType:"json ...

  7. PHP串行化与JSON

    PHP串行化与JSON 2008年3月19日 评论 发表评论 作者:hanguofeng[小韩] 发布于:经典论坛 玄猫的窝(作者的博客) 在经典论坛的连载地址:http://bbs.blueidea ...

  8. json的存在意义(json和String的区别)

    我一直不太明白json是个什么东西,虽然一直用,但总感觉json跟String有些微妙的相似感,要说为了进行程序间的数据传递吧,但Java程序中用"@responsebody"标签 ...

  9. XML和JSON 已经常用的解析工具

    Json XML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式.一般来讲,我们会从网络获取XML或者Json格式的数据,这些数据有着特 ...

最新文章

  1. DeepFake 新高度:一阶运动模型让“万物皆可动”
  2. 将远程服务器获取的linkedhashMap对象转为实体类对象
  3. 旋转散点图_聚类分析的结果如何用散点图展示出来?
  4. 实现与优化深度神经网络
  5. 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面
  6. Java程序练习-长整数加法运算
  7. Jenkins的系统设置
  8. hyper-v 中 安装 Centos 7.0 设置网络 教程
  9. 简约大气昼夜双色导航主题模板/WordPress导航主题模板
  10. 《达芬奇密码》中的yinhui
  11. Linux安装中文字体
  12. 多位大咖谏言,助力锂电企业交出市场考验的满意答卷
  13. 20162328WJH实验五网络编程与安全实验报告
  14. 2021-2027全球及中国个人防护纺织品行业研究及十四五规划分析报告
  15. linux网络编程tcp和udp基本函数调用过程及如何选择
  16. 营销之父科特勒万字演讲实录:营销的未来(含PPT和视频回放)
  17. Selenium库实现推特爬虫
  18. Augustus指南(Trainning部分)
  19. 使用谷歌浏览器控制台提示[DOM] Password field is not contained in a form:
  20. 中国传统节日网页html,【学习在线】中国传统节日的形成和发展

热门文章

  1. 用计算机画函数图像教案,信息技术应用 用计算机画函数图象教案1
  2. Jenkins+Pipeline+Docker部署SpringBoot项目到远程服务器
  3. 我在学习springboot和vue前后台连接时碰到的问题记录!(跨域问题)
  4. 第十六届全国大学生智能车汽车竞赛第二次扩大会议
  5. 利用一个继电器来实现脚踏鼠标按钮
  6. H01-P1201-0.6B金升阳高压模块
  7. AI电磁组中的NN到底有什么优势?
  8. loadrunner使用流程_LoadRunner关联函数
  9. clustalw序列比对_如何做出漂亮的序列比对图——ENDscript/ESPript
  10. java多态 降低代码耦合性_深度分析:理解Java中的多态机制,一篇直接帮你掌握!...