json与jsonp

JSON是一种轻量级的数据交换格式。

JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。

JSONP是“JSON with padding”的简写,我将其翻译为“被包裹的JSON”,

JSONP技术是早期某个(些?)聪明的程序员发明的跨域资源获取方式,由于该技术的简单易用,逐渐变得越来越流行,最终成为经典的跨域获取资源方案。

JSONP技术与AJAX技术无关:

虽然同样牵扯到跨域获取资源这个主题,但我们应该已经清楚的看到,

JSONP的本质是绕过AJAX获取资源的机制,使用原始的src属性获取异域资源;

JSONP技术缺陷:

(1)无法发送POST请求,也就是说JSONP技术只能用于请求异域资源,无法上传数据或修改异域数据;

(2)无法监测JSONP请求是否失败;

(3)可能存在安全隐患

别忘了,JSONP之所以能成功获取异域服务器资源,靠的是服务器动态生成了回调函数,并在页面中执行,

那么如果服务器在原有的回调函数下再添加些别的恶意JavaScript代码会怎样?当然也会被执行!

所以在使用JSONP技术时,一定要确保请求资源的服务器是值得信赖的;

DO What You Want !
原文地址:https://www.cnblogs.com/liumengdie/p/7993402.html