Jquery .ajaxForm() 提交给出 404 错误但 URL 正确 ASP.Net MVC

Posted

技术标签:

【中文标题】Jquery .ajaxForm() 提交给出 404 错误但 URL 正确 ASP.Net MVC【英文标题】:Jquery .ajaxForm() submit gives 404 error but URL is correct ASP.Net MVC 【发布时间】:2018-03-20 02:02:59 【问题描述】:

html 表单

<form id="form_CreateAccount" method="post" action="@Url.Action("CreateAccount","Account")" autocomplete="off">
    <div class="col-md-3 form-group">
         <label>Account Name*</label>
         <input type="text" name="AccountName" class="form-control" required/>
    </div>
    <div class="col-md-3 form-group">
         <label>Account Type</label>
         @Html.DropDownList("AccountTypeId",new SelectList(ViewBag.AccountTypes,"Id","Type"), new @class="form-control")
    </div>
    <div class="col-md-3 form-group">
         <button type="submit" class="btn btn-success adjust-btn">Create</button>
    </div></form>

JQuery .ajaxForm() 方法:

$("#form_CreateAccount").validate();

$("#form_CreateAccount").ajaxForm(
    beforeSubmit: function () 
        return $("#form_CreateAccount").valid();
    ,
    dataType: "json",
    success: function (res) 
        if (res.success === true) 

        else 

        
    
)

这是我的控制器

public class AccountController : Controller

    IAccountService _accountSrvc;

    [HttpPost]
    public JsonResult CreateAccount(Account account)
    
        var res = _accountSrvc.CreateAccount(account);
        return Json(new  success = res );
    

如果没有 .ajaxForm() 方法,此表单会成功提交,但是当我使用 .ajaxForm() 提交表单时,会出现错误 404

【问题讨论】:

可能不相关,但我认为beforSubmit 应该是beforeSubmit 是的,它的“beforeSubmit”不是“beforSubmit” 【参考方案1】:
beforeSubmit: function () 
    return $("#form_CreateAccount").valid();

.valid() 之后的分号导致问题。

【讨论】:

以上是关于Jquery .ajaxForm() 提交给出 404 错误但 URL 正确 ASP.Net MVC的主要内容,如果未能解决你的问题,请参考以下文章

使用 AjaxForm 时以编程方式提交表单

如何取消在 AjaxForm 上的提交

jQuery form插件的使用--ajaxForm()和ajaxSubmit()的可选参数项对象

Jquery插件之ajaxForm

Jquery插件之ajaxForm简介

jQuery.form.js 使用ajaxForm、ajaxSubmit提交表单上传文件后服务器端返回json数据IE浏览器无法解析。