nodejs + express + axios + vue 跨域问题

前后端跨域问题:

第一次写前端+数据库+后端这样从前到后流程的项目,经验不足,在网上借鉴了很多,终于有点点眉目。

前端框架:vue

请求:axios

数据库:mongodb

后端:nodejs + express框架

在项目过程中,遇到跨域提示,前端 http://localhost:8081 访问后端 http://localhost:8085 ,翻来覆去找了半天,试了网上的几种办法(后面会详说)都没有用

后来脑子里突然闪过一句话,就是这个,万恶由它引起:

将它注释掉就好啦。

写的时候知道这句话是解决跨域问题的,那为什么加上它反而报错了呢。我还真是没有百思而不得其解。

好啦,下面我记录一下我在网上搜到的其他解决跨域的办法,虽然解药不对我的症状,但我总觉得有一天会用到的。

1. 安装cors插件,因为我用的是express框架,所以这个办法用起来非常舒爽。

(1)安装cors: npm install cors express --save

(2) 然后在文件中引用:

         var cors = require('cors');

         var express = require('express');

         var server = express();

         server.use(cors());

 

2. 设置请求响应的header

 var express = require('express');

 express.all("*", 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");

    res.header("X-Powered-By","3.2.1");

     if(req.method=="PTIONS") res.send(200);

     else next();

 });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值