Santer0101 2024-04-01 21:59 采纳率: 42.9%
浏览 23

前后端分离的项目,后端flask如何使用session

最近在做一个前后端分离的项目,前端vue后端flask。在写登录接口的时候,想在flask使用session。但是前端登录之后接口正常响应了,结果在浏览器无法查看到session保存,猜测应该是前后端分离开发导致的,请问如何解决这种问题呢?

img

img

  • 写回答

4条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-04-01 22:01
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题描述:前端vue后端flask项目中,想使用session实现登录功能,但是在浏览器中无法查看到session。 解决方案:前后端分离开发中,由于不同域名/端口的限制,前端无法直接访问后端设置的session,需要进行跨域处理。具体实现可以通过设置Access-Control-Allow-Credentials和Access-Control-Allow-Origin来允许跨域请求,并且在请求中设置withCredentials为true来开启跨域传递cookie。 具体代码实现: 后端Flask代码:
    from flask import Flask, session
    app = Flask(__name__)
    # 设置session的密钥
    app.secret_key = 'hello world'
    @app.route('/login')
    def login():
        # 登录成功后设置session
        session['username'] = 'user'
        session['password'] = 'password'
        return 'login success'
    

    前端Vue代码:

    axios.defaults.withCredentials = true
    axios.get('http://localhost:5000/login').then(response => {
      console.log(response.data)
    })
    

    需要注意的是,在Vue项目中要设置axios的withCredentials为true,表示开启跨域传递cookie。同时,在后端Flask中,要设置session的密钥,并且同时设置Access-Control-Allow-Credentials和Access-Control-Allow-Origin。 参考链接:解决Flask无法在前端保存session问题

    评论

报告相同问题?

问题事件

  • 创建了问题 4月1日

悬赏问题

  • ¥15 有人会用py或者r画这种图吗
  • ¥15 MOD04_3K图像预处理
  • ¥15 [VASP]关于超胞大小和k 点网格的收敛性测试
  • ¥15 pip下载paddle2onnx离谱错误
  • ¥60 db2move nlzxams import 导出db2备份数据报错
  • ¥15 关于#python#的问题:全文总结功能咨询
  • ¥15 俄罗斯方块中无法同时消除多个满行
  • ¥15 c#转安卓 java html
  • ¥15 使用gojs3.0,如何在nodeDataArray设置好text的位置,再go.TextBlock alignment中进行相应的改变
  • ¥15 psfusion图像融合指标很低