使用表单上的页面锚点提交方法=get


Using page anchor on form submit with method=get

我有一个网页,上面有一个大表单,在提交时会重新调用自己。它使用 Method=Get。我正在尝试使页面在输出所在的表单下方的锚点处重新显示自己,而不是在页面顶部。

我读过很多地方,说简单地将 #xxx 添加到操作的末尾。

<form method="get" action="index.php#output">

例如,请参阅此堆栈溢出问题

它们可能适用于 Method=Post,但不适用于 Method=Get。在IE,Chrome和Firefox上试用过。

URL 最终如下所示:

http://mysite.com/index.php#output?name=jones&place=someplace

并且不产生输出。如果我破解 URL 看起来像这样,那么它可以完美运行:

http://mysite.com/index.php?name=jones&place=someplace#output

请问有什么方法可以使其工作吗?也许使用 Javascript onSubmit...

GET 是

GET,POST 是 POST。它们是为自己的用途而构建的,而不是为页面显示逻辑而构建的。

GET旨在从服务器检索一些资源。POST 旨在向服务器添加一些资源。

在表单中使用 GET 的常见情况是搜索表单。你的情况看起来很相似。因此,我不建议您将其作为POST进行黑客攻击,只是为了显示某些内容。

如果你想在同一页面中显示提交结果,你可以考虑使用 jQuery 的$.get劫持表单提交,并在成功后将结果附加到 DOM,尽管这是另一个问题。