我目前在 HTTP 发布表单和历史推送状态方面遇到了一点问题。
当我的用户提交 POST 表单,example.com/page-1
然后单击此页面中的链接时,他们会被重定向到example.com/page-2
history.pushstate。JS 脚本只是更改当前 url,将旧的推送到历史记录,然后显示新的内容。这对我来说非常好。
问题:一旦用户开机example.com/page-2
并手动刷新页面(ctrl+r或刷新按钮),Chromes会提示用户再次提交表单;但是表格实际上已经example.com/page-1
存在,没有理由在这个“新”页面中再次询问它。
有没有办法在popstate更改时清除javascript中所有先前提交的数据,以防止浏览器重新发布提示?还是我在历史状态中遗漏了什么?还是浏览器目前还没有很好地实现它?
我只用 chrome 测试了它,因为我没有用其他浏览器实现 pushstate。