javascript - 通过 Ajax 将表单数据传递给 Action

标签 javascript c# jquery ajax asp.net-mvc

我尝试将许多值传递给 MVC 中的 Action,但是 user 始终为 null。

var form = $('form');
    $.ajax({
        type: "POST",
        url: '@Url.Content("~/User/UpdateUser")',
        data: { user: form.serialize(), NameOfCare: care },
        success: function (result) {
            if (result == "Ok") {
                document.location.href = '@Url.Content("~/User/Index")';
            }
        }
    });

如何在 Ajax 中传递包含多个值的表单?

最佳答案

首先,您必须使用 @Url.Action 而不是 @Url.Content,因为您必须将 form 数据发送到一个 Controller ,用于处理数据

.serialize 方法将一组表单元素编码为字符串以供提交。

您应该使用:data:form.serialize() + "&NameOfCare="+care

服务器端,您的方法应如下所示:

public ActionResult(UserViewModel user,string NameOfCare){

}

user 对象将使用您的数据填充,使用 Model Binding

关于javascript - 通过 Ajax 将表单数据传递给 Action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41830364/

相关文章:

php - 动态 Google 加上一个 +1 按钮(带有不断变化的 url)

javascript - 如何避免office-js中过多的context.loads()

c# - 从 ListView 中删除所选项目

c# - 检测左键单击 DataGridView 标题时是否按下 CTRL 键

asp.net - 禁用 ASP.NEt Validtor,使其在回发时被禁用

javascript - 在 Node.JS 中导入 HTML 文件并将变量传递给它

c# - 从包含用于导航的格式良好的 XML 的字符串构造 XML 文档的有效方法?

javascript - jQuery .live ('click' )似乎只绑定(bind)到第一个元素

javascript - 当我用jquery点击外面时如何使覆盖和部分消失

Javascript变量不能正确添加两个变量,只能连接