一、什么是跨域?
跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。浏览器从一个域名的网页去请求另一个域名的资源时,出现域名、端口、协议任一不同,都属于跨域。
二、解决跨域
1.第一种
在package.json里面添加一行代码即可(这个方法只能写一个域名)
proxy:“你请求服务器的域名”
2.第二种
在src文件下创建一个setupProxy.js文件,在里面填写以下代码即可(这个方法可以填写多个域名)这里注意
const { createProxyMiddleware } = require("http-proxy-middleware"); module.exports = function (app) { app.use( createProxyMiddleware( "/api", //遇见/api-elm前缀的请求,就会触发该代理配置 { target: "服务器域名", //请求转发给谁(能返回数据的服务器地址) changeOrigin: true, //控制服务器收到的响应头中Host字段的值 secure: false, // pathRewrite: { // "^/api": "", // }, //重写请求路径,保证交给后台服务器是正常地请求地址(必须配置) } ) ); };
总结
两种方法都是可以去进行解决跨域问题的,但他们有一点是要看你的域名是否是多个,如果是多个的话就要使用第二种方法了,如果只是一个的话就使用第一种方法即可