因为浏览器存在同源策略,所以客户端向服务器发送请求时无法收到响应
同源策略:https://blog.csdn.net/wqliuj/article/details/109437914
在做vue项目的时候向自己用node搭建的静态服务器发送请求会跨域,所以查了一下如何解决跨域问题参考了简书的一篇文章https://www.jianshu.com/p/f32211c46325
但是使用其中代码控制还是没有解决问题,不知道是不是其他地方没有配置
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By",' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
试了一下直接在node使用cors中间件就解决问题了,还比较方便
首先下载cors模块npm i cors -D
在服务器代码中直接导入并使用cors中间件,再在客户端发送请求就可以收到服务器响应了
const express = require('express');
const cors = require('cors');
var app = express();
app.use(cors());
另外有没有代码控制和proxy代理解决跨域的详细一点的文章,因为这两个方法我不知道哪里少配了,没法使用