Jquery AJAX中表单请求的等价物

Jquery AJAX中表单请求的等价物,jquery,ajax,forms,xmlhttprequest,Jquery,Ajax,Forms,Xmlhttprequest,表单请求不仅发送到服务器,而且还将用户重定向到给定的资源和方法。我希望在AJAX中具有相同的功能 例如,我想要此表单发送的请求的等效项: <form method="POST" action="/resource"> <button type="submit">Submit</button> </form> 提交 我不希望在AJAX的回调方法中出现这样的重定向: <button type="submit" onclick="subm

表单请求不仅发送到服务器,而且还将用户重定向到给定的资源和方法。我希望在AJAX中具有相同的功能

例如,我想要此表单发送的请求的等效项:

<form method="POST" action="/resource">
  <button type="submit">Submit</button>
</form>

提交
我不希望在AJAX的回调方法中出现这样的重定向:

<button type="submit" onclick="submit()">Submit</button>

<script>
function submit() {
  $.ajax({
    url: "/resource",
    type: "POST",
    success: function() {
      window.location.replace("/resource")
    }
  })
}
</script>
提交
函数提交(){
$.ajax({
url:“/resource”,
类型:“POST”,
成功:函数(){
window.location.replace(“/resource”)
}
})
}
window.location.replace(…)
只发送GET请求,但我也希望能够像表单一样发送POST请求。
我该怎么做?

使用formaction

好的,在这个解决方案中,我们在提交按钮上使用formaction来决定表单的去向,我们在每个提交按钮上使用事件监听器来禁用不需要的字段。这将允许您将表单提交到不同的位置,并根据您单击的按钮发送不同的输入

$(文档).ready(函数(){
//首次提交的事件侦听器
$(“#提交-1”)。在(“单击”)上,功能(事件){
//禁用您不想发送的输入
$(“#输入-2”).prop('disabled',true);
});
//第二次提交的事件侦听器
$(“#提交-2”)。在(“单击”)上,功能(事件){
//禁用您不想发送的输入
$(“#输入-1”).prop('disabled',true);
});
});





那么为什么不使用表单呢?重定向是一个GET请求,您不需要先发布到url,然后再发布到重定向的urlurl@KarstenKoop在我的例子中,我希望表单中有一些按钮,可以将AJAX POST请求发送到表单操作之外的另一个url,我不能做嵌套在表单中的表单,因为这是被禁止的。@Musa我知道重定向只是GET请求,但是在POST中如何命名页面的更改?将请求发送到资源并随后重定向到它听起来很愚蠢,但这是我能在AJAX中模拟表单请求的最接近的方法。所以,您想将AJAX POST请求发送到url,但也要导航到url(或之后)?但它不起作用,因为url需要一个POST请求?对于我的案例来说,这是一个很好的答案(即如何在同一形式中有两个按钮执行不同的操作),但它没有回答最初的问题,即如何在POST中执行“重定向”。不过,我给你一个投票支持这个奉献。注意:你在另一个线程中谈到了通过Javascript提交表单。如果真的有可能,它可能会解决我的问题。我在我的答案中添加了使用JS提交表单,这就是你想要的吗?是的,我希望你的答案简单一点,但这样就可以了:)