加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

前端跨域问题解决方法

发布时间:2020-12-14 23:58:21 所属栏目:资源 来源:网络整理
导读:1.什么是跨域及产生原因 跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。 跨域情况

1.什么是跨域及产生原因

跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。

跨域情况如下:

http://www.a.com/b.js</tr>
<tr>
<td>http://www.a.com/lab/a.js
http://www.a.com/script/b.js</td>
<td>同一域名下不同文件夹</td>
<td>否</td>

</tr>
<tr>
<td>http://www.a.com:8000/a.js
http://www.a.com/b.js</td>
<td>同一域名,不同端口</td>
<td>是</td>

</tr>
<tr>
<td>http://www.a.com/a.js
https://www.a.com/b.js</td>
<td>同一域名,不同协议</td>
<td>是</td>

</tr>
<tr>
<td>http://www.a.com/a.js
http://70.32.92.74/b.js</td>
<td>域名和域名对应ip</td>
<td>是</td>

</tr>
<tr>
<td>http://www.a.com/a.js
http://script.a.com/b.js</td>
<td>主域相同,子域不同</td>
<td>是(cookie不可访问)</td>

</tr>
<tr>
<td>http://www.a.com/a.js
http://a.com/b.js</td>
<td>同一域名,不同二级域名(同上)</td>
<td>是</td>

</tr>

</table>

2.跨域的常见解决方法

目前来讲没有不依靠服务器端来跨域请求资源的技术

  1.jsonp 需要目标服务器配合一个callback函数。

  2.window.name+iframe 需要目标服务器响应window.name。

  3.window.location.hash+iframe 同样需要目标服务器作处理。

  4.html5的 postMessage+ifrme 这个也是需要目标服务器或者说是目标页面写一个postMessage,主要侧重于前端通讯。

  5.需要服务器设置header :

  6.nginx反向代理这个方法一般很少有人提及,但是他可以不用目标服务器配合,不过需要你搭建一个中转nginx服务器,用于转发请求。

http://www.cnblogs.com/gabrielchen/p/5066120.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!