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

标签 html http

我只想向 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/

相关文章:

html - IE8 : weird border around HTML button element

php - Web 浏览器如何请求和接收网页?

c# - 在 .NET 的 HTTP 请求中传递数组值

javascript - 有没有一种明确的方法可以找出在 FF 的开发人员控制台中调用函数的位置?

javascript - 堆叠模式在关闭时滚动主页

javascript - 从 jQuery Mobile 中的切换开关获取值

html - Django:无法更新 css 更改

javascript - 使用jquery在栏内淡入淡出

java - 使用 Java 的 Net 库时如何伪造特定的浏览器客户端?

javascript - 读取远程文件,并输出到浏览器。处理文本和 html。不要使用图像。 NodeJs