什么是跨域及如何解决、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

 

posted @ 2021-06-22 20:50  Y字仇杀队  阅读(183)  评论(0编辑  收藏  举报