跨域
为什么会发生跨域?
答:因为浏览器的同源政策,就会产生跨域。比如说发送的异步请求是不同的两个源,就比如是不同的的两个端口或者不同的两个协议或者不同的域名。由于浏览器为了安全考虑,就会产生一个同源政策,不是同一个地方出来的是不允许进行交互的。
协议 域名 端口号 ,只要一个不一样就会发生跨域
同源策略
Proxy 代理服务器 vue解决方法
devServer: { proxy: { "^/api": { // 表示代理到目标地址 target: "https://wyymusic-api.fun", // 是否启用websockets ws: true, //它表示是否更新代理后请求的headers中host地址; changeOrigin: true, //删除路径占位字段 pathRewrite: { '^/api': '' } } } }
nodemon
express
fs
got
跨域的解决方法
第一种jsonp的方法。
第二种使用CORS解决跨域问题,即跨域资源共享,在后端设置响应头部,加一句代码:access-control-allow-origin:"*"或者允许交互的域名。
第三种使用vue,找到config文件下->index.js文件,修改propyTable中的target的值,就可实现用前端解决跨域。
第四种,使用代理;
第五种,使用postmessage
package.json 设置"type": "module"
cors中间件
//安装cors
npm i cors // 引入 express var express = require('express'); var cors = require('cors'); // 创建express实例 var app = express(); // 使用cors 自动处理跨域,修改响应头 Access-Control-Allow-Origin: * app.use(cors())
待完善...