【问题标题】:Browser turning a post request into a get浏览器将 post 请求变成 get
【发布时间】:2015-02-20 15:33:40
【问题描述】:

我有一个使用 Tapestry5 框架的 java webapp,我在日志中看到了类似这样的异常,

表单要求请求方法是 POST 并且 t:formdata 查询参数有值

当我与用户组交谈时,人们认为存在某种问题,即浏览器将表单发布转换为获取请求。我已经看到旧版本的 ie 和使用更高版本 chrome 的现代 android 设备会发生这种情况。

我的问题是什么会导致这种行为?

编辑:

示例表格

<form id="sortForm" method="post" action="/product/index.sortform" data-validate="submit">

我还想排除机器人活动,因为我在一些位于防火墙后面且没有任何机器人访问权限的应用上看到了这种情况。

【问题讨论】:

标签: java internet-explorer post get http-post


【解决方案1】:

所有浏览器地址栏补全导致的问题及解决方法是,请在所有表单中添加autocomplete="false"

编辑 1:

如果你不使用动作类型,它就像 "GET" 方法。确保您将表单的操作 "method" 属性值添加为 "POST"

编辑 2:

请查看GET submits instead of POST ones. Tapestry

该链接(jira)https://issues.apache.org/jira/browse/TAP5-2066 强调了一个重大错误,之前已解决。

【讨论】:

  • 我在问题中添加了一个编辑,其中包含我的表单发布网址。我不确定 autocomplete="false" 将如何解决这个问题。您能否提供一些文档的链接,以便我阅读它?谢谢。
  • 不幸的是,这并没有告诉我任何我不知道的事情。我可以肯定地说这不是机器人活动。我有多个应用程序在其中发生这种情况,其中一些应用程序位于机器人无法访问的防火墙后面。
  • 您是否检查了“tagName”属性?他们讨论了js和框架中“tagName”属性的冲突。
  • 好吧,我使用的是 5.4,这似乎与 3.6 中的一个区域有关,这里没有使用。从 5.3 到 5.4 的 js 已经完全重写,所以我不怀疑这是问题所在。这似乎也很随机,我从来没有能够自己复制它。
猜你喜欢
  • 2014-07-24
  • 2014-05-12
  • 2022-11-07
  • 2017-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-17
  • 2018-12-05
相关资源
最近更新 更多