详解前端中的跨域及解决措施
2025-06-24 12:41:45 | 来源:人民网

1、跨越介绍
1.1、概念
概念
:跨域是浏览器
的同源策略
产生的一个限制
同源策略
:- 浏览器制定的一个
安全策略
,这个安全策略
的主要目标是:不让我们向别人的服务器
发起请求 同源策略
要求:同域名
、同端口号
、同协议
,不符合同源策略的,浏览器为了安全会阻止这个请求
- 浏览器制定的一个
1.2、如何界定服务器是自己的还是别人的
- 查看请求的
"协议/端口/域名
" 这3个内容和请求源
(当前打开页面的"协议/端口/域名")是否相同 - 如果三者有一者不同,那么就会触发
跨域错误
1.3、常见源
- 常见源1:
file:///E:/
——没有域名/端口 => 本地磁盘的路径 - 常见源2:
http://127.0.0.1:5500/
——协议是:http,域名是:127.0.0.1,端口是:5500 => 在服务器打开的路径
1.4、如何解决跨域错误
- 注意:如果
服务端
不想给跨域请求数据
,那么我们解决不了跨域问题 跨域
这件事其实主导者
还是在服务端
,如果服务端允许我们的跨域请求,那么就可以发起跨域请求,反之就不能发起请求
1.5、示例跨域错误
letbtn =document.querySelector("#btn");btn.addEventListener("click",function(){ // 演示:向百度发起一个ajax请求 => 这里的演示只要是和当前源的协议、端口、域名不一致的即可 fetch("https://www.baidu.com")// 报错:报错信息中的No 'Access-Control-Allow-Origin'这段话表示ajax请求是违背了同源策略的,此时不可以发送ajax请求})
2、解决跨域——JSONP
2.1、解释
把原本的
ajax请求
——替换成:在"script"标签
的"src"属性
发起请求
示例
: