关于vue+node的跨域问题

图片描述

veu-cli版本3.10.10
因为第一次接触前后端所以不是很明白,然后发现网上说是跨域问题,我发现就有写在config/index.js文件夹里面的

dev: {
proxyTable: {
  '/api': {
    target: 'http://40.00.100.100:3002/',//设置你调用的接口域名和端口号 别忘了加http
    changeOrigin: true,
    pathRewrite: {
      '^/api': '/'//这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可
    }
  }
},

然后还有在express添加中间件设置header的方式解决跨域

// 配置允许跨域请求;
app.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=="OPTIONS") res.send(200);/*让options请求快速返回*/
    else  next();
})

加了但是也还是出现了404,请求各位大佬为我指点迷津~

阅读 3.7k
1 个回答

估计你直接/login去请求吧,如果是这样proxyTable代理要改一下

proxyTable: {
  '/': {
    target: 'http://40.00.100.100:3002/',
    changeOrigin: true,
    pathRewrite: {
      '^/api': '/'
    }
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题