zoukankan      html  css  js  c++  java
  • node设置res.cookie跨域问题解决

    由于后端需要加入验证功能,前端调用接口时后端根据token验证用户是否存在。

    每个方法都要验证,为了方便决定使用cookieParser和res.cookie()在后端设置cookie,这样的做法省去了让前端传入token的步骤,省事很多。

    真正去做的时候却发现出现以下情况:

    Response Headers里面已经有了Set-Cookie了,但是Application里面的cookie却没值

    经过一番查找才发现可能是涉及到了跨域问题

    于是我设置如下:

    前端:在request.js文件

    const request = axios.create({
      baseURL: process.env.VUE_APP_BASE_SERVER_01 + 
      process.env.VUE_APP_BASE_API,
      timeout: 15000,
      withCredentials: true,
    });
    

      

    后端:在app.js

    app.use(
      cors({
        credentials: true,
        origin: 'http://****:****', // web前端服务器地址
      })
    );

    之后就ok啦

    通过这个事例我才知道我上家公司为什么每个接口的后面都要加上id=*****,可能也是为了验证接口访问者的身份,但是没有在后端写入cookie,而是直接在?后面加入用户id。

    很显然这个要方便很多。

    今天又是学习到了新知识的一天~  Nice ending~

    最后一天啦,提前新年快乐虎虎生威~

  • 相关阅读:
    Mybatis学习笔记2:第一个Mybatis使用实例
    Mybatis学习笔记1:Mybatis简介
    springcloud Eureka 服务注册与发现
    springcloud rest微服务案例
    springmvc返回json
    springboot 集成mybatisplus
    vue axios使用
    vue前后端交互方式
    day3
    D. Count the Arrays
  • 原文地址:https://www.cnblogs.com/pjw233/p/15753682.html
Copyright © 2011-2022 走看看