在express框架中使用axios的post方法出现报错,报跨域问题,前端拿到的json数据是undefined
先想要解决这个问题需要自己定义请求头,并且在vue中使用qs重新实例化一个axios,这个项目使用vue做前端框架,使用express写后台接口。
- 首先在express的app.js文件里设置携带请求头信息
var app = express();
app.use("*",function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
if (req.method === 'OPTIONS') {
res.send(200)
} else {
next()
}
})
- 在vue里面npm i --save qs,重新实例化一个axios
let instance = this.axios.create({
headers: {'content-type': 'application/x-www-form-urlencoded'}
});