开发中最常见的跨域问题
跨域问题的呈现
“同源策略” :同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具备雷同的协定(protocol),主机(host)和端口号(port)
什么是跨域
当一个申请url的协定、域名、端口三者之间任意一个与以后页面url不同即为跨域
解决跨域的办法有有很多来对应各种利用场景。
搭建反向代理服务器
不同于须要后端开启CORS 这个前端本人就能够实现。
以装置有node环境为前提
如果没装置过请详询node环境装置教程
git地址:
https://gitee.com/huijia1/proxy-server
装置express:
npm install -g express
//引入express
const express = require('express');
const app = express();
//引入代理中间件
const {createProxyMiddleware}=require('http-proxy-middleware')
//设置动态目录 能够把html,js等文件放入其中进行拜访
app.use(express.static('./public'));
//将门路中带有api的申请地址进行代理
app.use('/api',createProxyMiddleware({
//target为须要代理的接口地址
target:'http://localhost:8080',
//批改源头进行坑骗
changeOrigin:true,
// 将门路中的api去除 这个依据理论状况进行保留
pathRewrite:{
"^/api":""
}
}))
//开启3000端口
app.listen(3000);
git地址:
https://gitee.com/huijia1/proxy-server
发表回复