有关JSONP和跨域

一、首先,简述一下JSON和JSONP二者的关系

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

二、JSONP原理:

(1)核心原理:

所有具有src属性的HTML标签都可以是跨域的!

(2)具体解释:

1.首先在客户端注册一个回调函数如callback。
2.动态创建一个script标签,将其src值设置为请求地址同时添加参数与回调函数callback
3.服务器端对此get请求进行处理,并返回callback(data),data为服务端返回前端的数据
4.客户端接受到返回的js脚本,开始解析和执行callback

(3)JSONP的局限性:

需要server支持 支持GET请求

三、关于跨域:

1.引起跨域问题的是浏览器的同源策略它是一种为了解决浏览器安全问题的一种约定,所谓同源是指协议、域名、端口号三者相同,否则浏览器就报错。
2.跨域安全限制都是对浏览器端来说得,服务端是不存在跨域安全限制的。
3.具体什么是跨域,我们可以将其分为3点
<1>资源跳转:eg. A链接、重定向、表单提交。
<2>资源嵌入:

你可能感兴趣的:(有关JSONP和跨域)