我只想向api发送帖子请求。到目前为止,我有:
<form method="POST" action="/api/updoot/ID:{{ post.ID }}">
<input type="submit" value="updoot"/>
</form>
当我点击提交时,它会重定向。我知道如何使用javascript阻止重定向,但我想知道是否可以在不使用javascript且不重定向用户的情况下发送请求?
答案 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>