Javascript 如何在firefox中隐藏重新提交警报

Javascript 如何在firefox中隐藏重新提交警报,javascript,jquery,Javascript,Jquery,我有一个页面,在这个页面上我显示了我的表单的结果。当我想重新加载页面时,它会显示:“要显示此页面,Firefox必须发送重复先前执行的任何操作(如搜索或订单确认)的信息” 此警报会强制用户按“重新发送”。 有没有办法像chrome一样在firefox中隐藏此警报? 我想在没有任何许可的情况下重新加载页面 有没有办法隐藏此警报 你从错误的角度思考这个问题。无法更改浏览器的行为。但您可以更改服务器端应用程序的行为 假设您有一系列如下步骤: 客户端向服务器发送POST请求 服务器处理请求 服务器用要显

我有一个页面,在这个页面上我显示了我的表单的结果。当我想重新加载页面时,它会显示:“要显示此页面,Firefox必须发送重复先前执行的任何操作(如搜索或订单确认)的信息” 此警报会强制用户按“重新发送”。 有没有办法像chrome一样在firefox中隐藏此警报? 我想在没有任何许可的情况下重新加载页面

有没有办法隐藏此警报

你从错误的角度思考这个问题。无法更改浏览器的行为。但您可以更改服务器端应用程序的行为

假设您有一系列如下步骤:

  • 客户端向服务器发送POST请求
  • 服务器处理请求
  • 服务器用要显示的页面进行响应
  • 客户端尝试重新加载页面
  • 重新加载字面意思是重复我的最后一个请求。浏览器告诉用户的是,最后一个请求是包含某些信息的帖子,重复该请求可能会产生意想不到的效果

    您可以通过修改上面的“步骤3”来更正此问题。考虑这个更标准的序列:

  • 客户端向服务器发送POST请求
  • 服务器处理请求
  • 服务器用重定向进行响应
  • 客户端遵循重定向,发出新的GET请求
  • 服务器用要显示的页面进行响应
  • 客户端尝试重新加载页面
  • 在这种情况下,当浏览器重复最后一个请求时,显示页面是一个简单的GET请求。这并没有什么害处(当然,不应该有),所以用户不会从他们的浏览器中得到任何警告

    基本上,长话短说,在处理一篇文章之后,你应该将用户重定向到一个新页面,而不是立即显示一个页面

    有没有办法隐藏此警报

    你从错误的角度思考这个问题。无法更改浏览器的行为。但您可以更改服务器端应用程序的行为

    假设您有一系列如下步骤:

  • 客户端向服务器发送POST请求
  • 服务器处理请求
  • 服务器用要显示的页面进行响应
  • 客户端尝试重新加载页面
  • 重新加载字面意思是重复我的最后一个请求。浏览器告诉用户的是,最后一个请求是包含某些信息的帖子,重复该请求可能会产生意想不到的效果

    您可以通过修改上面的“步骤3”来更正此问题。考虑这个更标准的序列:

  • 客户端向服务器发送POST请求
  • 服务器处理请求
  • 服务器用重定向进行响应
  • 客户端遵循重定向,发出新的GET请求
  • 服务器用要显示的页面进行响应
  • 客户端尝试重新加载页面
  • 在这种情况下,当浏览器重复最后一个请求时,显示页面是一个简单的GET请求。这并没有什么害处(当然,不应该有),所以用户不会从他们的浏览器中得到任何警告


    基本上,长话短说,在处理一篇文章后,你应该将用户重定向到一个新页面,而不是立即显示页面。

    不要在带有表单的页面上使用刷新。我认为任何浏览器都会出现这种行为。如果您有表单,我希望您使用POST或其他方法来传达表单信息。@TheIncorrigible1但我必须在登录后刷新页面,我不想显示此警报登录输入的表单是什么?您应该永远不需要刷新用户的浏览器。@inaz-无意冒犯,如果不可能的话,您想要什么是无关紧要的。正如Incorrigible所说,您看到的是您可能无法抑制的预期行为(无论如何,抑制通常是个坏主意)。相反,正常的方法是在表单提交后重定向到某个位置,因此如果该页面被刷新,提交已在导航历史记录中进一步追溯。请勿在包含表单的页面上使用刷新。我认为任何浏览器都会出现这种行为。如果您有表单,我希望您使用POST或其他方法来传达表单信息。@TheIncorrigible1但我必须在登录后刷新页面,我不想显示此警报登录输入的表单是什么?您应该永远不需要刷新用户的浏览器。@inaz-无意冒犯,如果不可能的话,您想要什么是无关紧要的。正如Incorrigible所说,您看到的是您可能无法抑制的预期行为(无论如何,抑制通常是一个坏主意)。相反,正常的方法是在表单提交后重定向到某个位置,因此如果刷新该页面,则提交已在导航历史中进一步追溯。