V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MrMike
V2EX  ›  PHP

请教一个 WEB 系统表单填写时间过长,提交后表单数据丢失的问题

  •  
  •   MrMike · 2019-05-14 17:30:52 +08:00 · 2725 次点击
    这是一个创建于 2052 天前的主题,其中的信息可能已经有所发展或是发生改变。

    WEB 系统是用 Symfony3 开发的,最近遇到问题:

    用户登录系统后,浏览器长时间不使用,点击系统链接时,会被跳转到登录页面,经查询,在用户被跳转到登录页面时,是可以获取到当前用户的信息的。

    后来就在登录 Action 里,设置了如果能获取到当前用户的数据,就跳转到来源页。

    这样处理后,当当前页面是表单页面,需要填写大量的数据时,在填写完表单数据后,提交,页面被刷新了,表单的数据也丢失了。。

    在 security.yml 文件中: remember_me: secret: '%kernel.secret%' lifetime: 1296000 # 15 days path: / always_remember_me: true

    请问有朋友遇到过这样的问题,是什么地方出了问题呢?谢谢

    3 条回复    2019-05-14 17:42:03 +08:00
    yoshiyuki
        1
    yoshiyuki  
       2019-05-14 17:39:02 +08:00
    正常页面跳转后,表单必然是丢失的,你说的可能是框架提供的表单自动重新填写的功能失效了,这个功能具体每个框架实现不一样
    banricho
        2
    banricho  
       2019-05-14 17:40:56 +08:00
    这种事情在前端处理会更好一些。

    首先体验上需要改,根本上避免大量数据的表单出现。
    如果需要有很多数据,分类分页分步骤,总之不要一次写太多,对用户也友好。
    前端这边对于表单也可以在提交之前保存到 localStorage,甚至可以定时存储一次。
    whypool
        3
    whypool  
       2019-05-14 17:42:03 +08:00
    前端存个缓存就行
    没提交的数据刷新读取缓存
    提交成功清理缓存
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1503 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:10 · PVG 01:10 · LAX 09:10 · JFK 12:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.