一尘不染

如何提交不带重定向的html表单?

javascript

如果我有这样的表格:

<form action="/Car/Edit/17" id="myForm" method="post" name="myForm"> ... </form>

如何提交而不通过JavaScript /
Jquery重定向到另一个视图?我从StackOverflow阅读了很多答案,但是所有这些答案都将我重定向到POST函数返回的视图。


阅读 284

收藏
2020-05-01

共1个答案

一尘不染

为了实现您想要的,您需要使用jquery ajax,如下所示:

$('#myForm').submit(function(e){
    e.preventDefault();
    $.ajax({
        url:'/Car/Edit/17/',
        type:'post',
        data:$('#myForm').serialize(),
        success:function(){
            //whatever you wanna do after the form is successfully submitted
        }
    });
});

更新:( 基于下面的评论)

试试这个:

function SubForm(e){
    e.preventDefault();
    var url=$(this).closest('form').attr('action'),
    data=$(this).closest('form').serialize();
    $.ajax({
        url:url,
        type:'post',
        data:data,
        success:function(){
           //whatever you wanna do after the form is successfully submitted
       }
   });
}

UPDATE 2 (OP添加了此部分,因为这是他的最终解决方案)

这完美无瑕。我从Html.ActionLink(...)

function SubForm (){
    $.ajax({
        url:'/Person/Edit/@Model.Id/',
        type:'post',
        data:$('#myForm').serialize(),
        success:function(){
            alert("worked");
        }
    });
}
2020-05-01