资讯专栏INFORMATION COLUMN

JSONP的一点笔记<修改中>

姘存按 / 2449人阅读

摘要:请求服务器数据并规定回调函数为上面代码通过动态添加元素,向服务器发出请求。另外假设向服务发送的请求是这样的在这种情况下,是表示请求的请求参数,而是应用程序的回调函数的名称。清单调用回调服务注意,我们使用作为回调函数名,而非真实的函数名。

同源策略

同源策略(Same origin policy),它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。[2] 同源策略限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的关键的安全机制。[3]

如果非同源,共有三种行为受到限制:

Cookie、LocalStorage 和 IndexDB 无法读取。

DOM 无法获得。

AJAX请求不能发送。

AJAX

Asynchronous JavaScript and XML (Ajax) Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用 XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器。
对于AJAX以何种格式来交换数据、跨域需求如何解决。一种方案是:用JSON来传数据,靠JSONP来跨域。

JSONP

是JSON with Padding的略称。它是一个非官方的跨域数据交互协议协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。[4]

JSONP是怎么产生的:

通俗的阐释:

1.Ajax直接请求普通文件存在跨域无权限访问的问题,无论是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;

2.Web页面上调用js文件时则不受是否跨域的影响(凡是拥有"src"这个属性的标签都拥有跨域的能力,比如

阅读需要支付1元查看
<