什么是跨域
正常情况下,如果我们通过ajax去请求另一个域下的资源时是不会成功的,浏览器默认会阻止这种行为,因为它违背了浏览器的同源策略。
常见的抱错提示
Access to XMLHttpRequest at 'http://localhost:3000/' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
什么是同源策略
简单来说就是指 协议 + 域名 + 端口 三者相同
举例来说,http://www.tjq.com:8080/index.html这个网址,协议是http://,域名是www.tjq.com,端口是8080(我们经常看的网址没有,是因为默认端口80可以省略)。
如何解决跨域
1.代理服务器(最常用方法)
因为服务器之间是没有跨域请求的
2.jsonp
3.服务端cors
4.如果请求的是一些图片文字资源,可以直接放在服务端public下面,让其不产生跨域问题