我只想向 api 发送一个 post 请求。到目前为止,我有:
<form method="POST" action="/api/updoot/ID:{{ post.ID }}">
<input type="submit" value="updoot"/>
</form>
当我点击提交时,它会重定向。我知道如何防止使用 javascript 进行重定向,但我想知道是否可以在不使用 javascript 且不重定向用户的情况下发送请求?
最佳答案
是的,可以发出 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>
关于html - 可以在不重定向页面和不使用 javascript 的情况下发出请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45872445/