可以在不重定向页面的情况下发出请求而不使用javascript?

时间:2017-08-24 23:42:03

标签: html http

我只想向api发送帖子请求。到目前为止,我有:

<form method="POST" action="/api/updoot/ID:{{ post.ID }}">
    <input type="submit" value="updoot"/>
</form>

当我点击提交时,它会重定向。我知道如何使用javascript阻止重定向,但我想知道是否可以在不使用javascript且不重定向用户的情况下发送请求?

1 个答案:

答案 0 :(得分:1)

是的,可以发出HTTP请求,没有页面重定向,也没有任何JavaScript。

诀窍是:制作一个不可见的iframe,并将其用作form的目标。这样,当提交form时,将发送HTTP请求,并在iframe中处理响应。由于iframe不可见,因此页面中不会发生任何变化。

以下是一个例子:

#subframe {
  display: none;
}
<form method="POST" action="https://requestb.in/xkaff3xk" target="sub">
  <input type="text" name="test">
  <input type="submit" value="updoot"/>
</form>
<iframe id="subframe" name="sub">

</iframe>