什么是跨域?解决跨域的方法?
什么是跨域?
当一个请求的url的协议、端口、域名三者之间任意一个与当前页面的url不同即为跨域
浏览器同源策略
浏览器为了隔离潜在的恶意文件,使用同源策略,限制从一个源加载的文档或脚本和另一个源的资源进行交互(不同源之间的文档,资源的交互)
同源是指“协议+端口+域名”三者相同
解决跨域的方法?
JsonP
利用< script >标签不受同源策略限制的特效进行跨域操作
核心思想:网页通过添加一个< script > 标签,向服务器请求JSON数据,服务器收到请求后,将数据防在一个指定名字的回调函数的参数传回来
cors
使用额外的HTTP头告诉浏览器被准许访问来自不同源服务器上的指定的资源。
举例:带cookie的跨域请求里,axios设置 axios.defaults.withCredential = true