gpt4 book ai didi

asp.net - 当我点击后退按钮时,Chrome 提交表单时不显示任何弹出通知?

转载 作者:行者123 更新时间:2023-12-02 21:50:19 24 4
gpt4 key购买 nike

Chrome 现在一天比一天糟糕。我有一个 ASP.NET 应用程序。当用户执行 POST 操作时。然后他单击一个链接(GET 操作)。然后单击浏览器后退按钮。 Chrome 再次执行 POST 操作。在任何其他浏览器中都没有问题。这是一个任何人都可以确认的例子。只需单击 POST 按钮,然后单击 GET 链接,然后单击返回按钮。创建 2 个 WebForm 页面,

WebForm1.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<input type="submit" value="POST" />
<a href="WebForm2.aspx">GET</a>
</form>
Http Details:
<%= Request.HttpMethod %>
<%= DateTime.Now %>
</body>
</html>

WebForm2.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<input type="submit" value="POST" />
<a href="WebForm1.aspx">GET</a>
</form>
Http Details:
<%= Request.HttpMethod %>
<%= DateTime.Now %>
</body>
</html>

更新:我在上面添加了DateTime.Now。这是观察结果,

Open WebForm1.aspx
Http Details: GET 9/24/2013 11:43:10 AM

Click Post Button,
Http Details: POST 9/24/2013 11:43:35 AM

Click GET Button(The Browser will redirect you too WebForm2.aspx),
Http Details: GET 9/24/2013 11:43:46 AM

Click Browser Back Button(The Browser will show WebForm1.aspx in address bar)
Http Details: POST 9/24/2013 11:44:17 AM

最佳答案

通过后操作的重定向进行响应通常是一种很好的做法:

  1. 浏览器 POST 表单:返回带有位置 X 的 HTTP/302
  2. 浏览器 GET X:提供页面 X
  3. 浏览器重新加载现在将执行 GET X

就像这样,当重新加载该页面时,将再次提供该页面,而无需再次尝试发布表单。

这可能也解决了您遇到的 Chrome 错误问题。

关于asp.net - 当我点击后退按钮时,Chrome 提交表单时不显示任何弹出通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18764137/

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