【学习什么是跨域,以及如何解决跨域。】
1、什么是跨域?(什么是同源策略?)
跨域:
由于浏览器的同源策略引起的,如果说协议、域名、端口号有任何一个不一样,都会引起跨域
为什么会出现跨域:
基于安全考虑
出现跨域会报错如图所示:
2、如何解决跨域?
(1)后台改: 后台设置响应头 res.setHeader('Access-Control-Allow-Origin',' *')
//创建js文件,代码如下:
const http = require('http')http.createServer((req,res)=>{res.setHeader('Access-Control-Allow-Origin','*')res.end('getName("haha")')res.end('haha')
}).listen(3000)
(2)jsonp (只适合get请求):不会阻止 script 标签的 src 属性的请求,前端写一个函数,后端返回函数的调用
<script>function getName(name){console.log('调用了',name)}</script><!-- <script>getName('haha')</script> --><script src="http://localhost:3000/?callback=getName"></script>
(3)配置代理:在根目录下创建 vue.config.js 文件,在文件中配置如下图所示:
(4)nginx反向代理