首页 存档 技术 查看内容

浅谈JSONP

2018-3-30 13:00 |来自: 互联网 232 0

摘要: 开发者(KaiFaX) 面向开发者、程序员的专业平台! 这是我在13年初写的文章,当时懵懵懂懂写下了自己对JSONP的理解。 提到JSONP,我当时在网上找了无数帖子也没有看懂它。那些文章大同小异,都是讲到JSONP原理以 ...

开发者(KaiFaX

面向开发者、程序员的专业平台!


这是我在13年初写的文章,当时懵懵懂懂写下了自己对JSONP的理解。


提到JSONP,我当时在网上找了无数帖子也没有看懂它。那些文章大同小异,都是讲到JSONP原理以后就戛然而止,把我们这些初学者搞得云里雾里。所以,写下这篇文章,希望对大家有帮助!

为什么要有JSONP

回答这个问题之前,大家先想想什么是AJAX,JSONP就是一种能够解决AJAX办不到的事情而存在的一种取数据的技术。什么事情是AJAX办不到的呢?就是跨域!

跨域:顾名思义,就是当前网页的地址和我们要取的数据地址不在一个域下。这是因为浏览器都有一个“同源策略” 两个页面的域名必须在同域的情况下,才能允许通信。

怎么才算一个域呢?

相同域名,相同端口,相同协议(因为不是这里的重点,大家可以请教Google)

“同源策略”的意义:“同源策略”有效地阻止了一些危险行为,比如你进入www.aaa.com,同时浏览器又开了一个www.bbb.com,如果这个www.bbb.com是一个木马网站,在没有“同源策略”的情况下,它就可能嵌入一些代码,来取得你在www.aaa.com的信息(因为这时两个页面是可以通信的) 。而正是因为有了“同源策略”,刚才可以通信的情况才不会发生。

“同源策略”带来的麻烦:上面的例子是我们在不知情的情况下,保护我们的网络安全的,但如果我们就是要让www.aaa.com取得www.bbb.com上的数据,行不行呢?答:不行!还是因为”同源策略”!我们想从自己信任的网页上取得数据都不行,这可怎么办呢?

JSONP出现

在需要跨域通信的岁月里,一些卓越的前端工程师们想到了这个”作弊”的办法来逃避”同源策略”。”同源策略”虽然很厉害,阻止了一个页面到另一个页面的通信,可是src指向的路径它放过了,提到src,大家是不是想起了

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部