gpt4 book ai didi

javascript - 提交表单并刷新页面而不将刷新添加到导航历史记录中

转载 作者:行者123 更新时间:2023-11-30 20:49:55 25 4
gpt4 key购买 nike

我正在 Flask 上构建一个小型网络应用程序,但在导航回上一页时遇到了一个相当乏味的问题。

我尝试过的:

  • 没有离开页面 - 内容已过时

  • 重定向到同一页面返回 - 返回导航中断(因为操作再次执行)

  • 使用 JS 并使链接执行 document.history.go(-2)document.history.go(-1) - 导致问题CSP(到目前为止,我已经设法在没有 JavaScript 的情况下完成),进行的多次编辑导致返回导航最终出现在同一个网站上,这是糟糕的 UX(我可以保留一个计数器,但这并不能解决下一个问题这种方法),它还会将页面保留在导航历史记录中,继续前进

  • 跟踪所有访问过的页面并根据它生成反向链接 - 导致 url 堆积垃圾,还会导致 URL 过长的问题,并且它们不适合在用户之间共享。

所以这一切都归结为那些麻烦的 POST 操作。有什么方法可以只是刷新页面(但如果需要则重定向到错误页面)?

最佳答案

在您的 HTML 中包含一个准系统表单,所有输入设置都正常。

<form id='example-form'>
<!-- inputs here... -->
<input type='submit' id='form-submit-button'></input>
</form>

然后在你的 JS 中为此编写一个处理程序,我在下面使用 jQuery 编写了它

$('#form-submit-button').on('click', function() {
$.post('example.domain.com/formSubmit', $('#example-form').serialize(), function() {
//success - do whatever you need to do here
window.location.reload();
}
}).fail(function() {
//error - you can redirect your user to an error page here or whatever
alert('error');
});

我还没有对此进行测试,所以如果它不能立即工作,我深表歉意 - 查看 jQuery 文档以获取有关 jQuery ajax 函数的更多信息,一旦您开始编写它们,它们就会变得容易得多。

处理 DOM 事件 - https://api.jquery.com/on/

发送 Ajax 调用 - https://api.jquery.com/jquery.post/

关于javascript - 提交表单并刷新页面而不将刷新添加到导航历史记录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48284392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com