coolair
V2EX  ›  问与答

请教一个 Flask session 的问题

  •  
  •   coolair · Apr 26, 2018 · 1816 views
    This topic created in 2953 days ago, the information mentioned may be changed or developed.
    get_code_api ( POST ):获取验证码的 API,可以分别获取手机或邮箱验证码,并设置手机验证码和邮箱验证码的 session 用于验证。

    问题描述:
    注册的时候,通过 ajax 获取手机验证码和邮箱验证码,如果单用手机或邮箱注册,用 session 的方式验证验证码没有问题。
    但是如果同时使用了手机和邮箱,那么就分别调用了两次 get_code_api,这个时候在 submit 提交对验证码进行校对的时候,发现 session 保存的邮箱的验证码是老的验证码,也就是在调用 get_code_api 的时候并没有更新成功。

    疑问:
    为什么手机验证码的 session 没有问题?
    在 get_code_api 设置邮箱验证码 session 的时候,分别打印了更新前和更新后的 session,发现没有问题,但是 submit 验证的时候仍旧是更新前的老 session,这是为啥?

    是不是该用 Flask-session 来使用服务器端保存 session,但是我觉得不是这个问题啊。
    Supplement 1  ·  Apr 27, 2018
    用了 flask-session 和 flask-cors 还是不行,测试后发现,一次 ajax 设置两个值没有问题,但是两次 ajax,第二次 ajax 设置的值就会失效。
    Supplement 2  ·  Apr 27, 2018
    这个问题我已经解决了,原因就是两次 ajax 请求时间太短,加个延迟就没有问题。
    4 replies    2018-04-27 12:12:49 +08:00
    rogwan
        1
    rogwan  
       Apr 26, 2018 via Android
    你是不是把验证码都用同一个 key 存入的 session ?
    coolair
        2
    coolair  
    OP
       Apr 26, 2018
    @rogwan key 不一样
    gotounix
        3
    gotounix  
       Apr 27, 2018   ❤️ 1
    John60676
        4
    John60676  
       Apr 27, 2018
    上代码
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3794 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 290ms · UTC 05:05 · PVG 13:05 · LAX 22:05 · JFK 01:05
    ♥ Do have faith in what you're doing.