什么事跨域?
跨域就是:当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域,跨域一般会报错
跨域有两种解决方法
方法一: Access-Control-Allow-Origin
这个是在服务器代码里面写的,内容大致为是否允许跨域,那些东西允许跨域
let express = require('express');
let app = express();
app.all("*", function(req, res, next){
// “Origin ”跨域
// “*” 所有
res.header("Access-Control-Allow-Origin", "*"); //一般这一句就基本解决所有跨域问题了,下面的可以不用写
res.header("Access-Control-Allow-Methods", "GET, POST, DELETE, OPTIONS, PUT");
res.header("Access-Control-Allow-Headers","Content-Type, Content-Length, Authorization, Acccpt, X-Requested-With");
next();
})
方法二: proxy代理
机制:
伪造一个地址替换掉现在的本机地址,使 url的协议、域名、端口与后台返回的url的协议相同。
在config下面的配置文件 index.js 中找到这个导出文件
module.exports = {
dev: {}
}
在dev:{}中添加如下代码
dev: {
assetsSubDirectory: 'static',
assetsPublicPath: '/',
// proxy代理 解决跨域 http://192.168.97.224:3000/#/api 所有请求的地址
proxyTable: {
'/api': {
// /api只是一个名字 可以 任意命名
target: 'http://192.168.97.224:3000/', // target为本机IP地址
// 是否跨域
changeOrigin: true,
pathRewrite: {
"^/api": '' //
}
}
}
方法三: jsop