什么是跨域及如何解决json和jsonp

Posted Y字仇杀队

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是跨域及如何解决json和jsonp相关的知识,希望对你有一定的参考价值。

1、跨域:

出于浏览器的同源策略限制,同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。

同源:即指在同一个域中,就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)一样。

非同源:协议、主机、端口号任有一项不同。

跨域:当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。

非同源限制:

【1】无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB

【2】无法接触非同源网页的 DOM

【3】无法向非同源地址发送 AJAX 请求

 

2、json和jsonp:

json是理想的数据交换格式,但没办法跨域直接获取,于是就将json包裹(padding)在一个合法的js语句中作为js文件传过去。这就是json和jsonp的区别。

json是想要的东西,jsonp是达到这个目的而普遍采用的一种方法,当然最终获得和处理的还是json。

所以说json是目的,jsonp只是手段。json总会用到,而jsonp只有在跨域获取数据才会用到。

3、解决:

https://blog.csdn.net/qq_38128179/article/details/84956552

 

以上是关于什么是跨域及如何解决json和jsonp的主要内容,如果未能解决你的问题,请参考以下文章

什么是跨域及怎么解决跨域问题?

跨域及JSONP原理

说说JSON和JSONP,浅析JSONP解决AJAX跨域问题

问题:跨域及解决方案

json和jsonp

json与jsonp详解