javascript - 使用 jquery 和 ajax 将 json 对象发布到 mvc Controller

标签 javascript jquery ajax asp.net-mvc html

我正在尝试将一些值从表单提交到我的 mvc Controller 。

这是我的 Controller :

 //Post/ Roles/AddUser
    [HttpPost]       
    public ActionResult AddUser(String json)
    {
        Log.submit(json);            
        return View();
    }

这是js:

<script>
function submitForm() {

    var usersRoles = new Array;
    $("#dualSelectRoles2 option").each(function () {
        usersRoles.push($(this).val());
    });
    console.log(usersRoles);

    jQuery.ajax({
        type: 'POST',
        url: "@Url.Action("AddUser")",
        contentType: "application/json; charset=utf-8",
        datatype: 'json',
        data: JSON.stringify(usersRoles),
        success: function (data) { alert(data); },
        failure: function (errMsg) {
            alert(errMsg);
        }
    });
}

当我在 Controller 上调试时,我得到的参数为空? console.log(usersRoles) 给我数据。

我做错了什么?

如何在 Controller 中接收 json 对象?

最佳答案

我在您的代码中看到您正在尝试将 ARRAY 传递给 POST 操作。在这种情况下,请遵循以下工作代码 -

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
    function submitForm() {
        var roles = ["role1", "role2", "role3"];

        jQuery.ajax({
            type: "POST",
            url: "@Url.Action("AddUser")",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(roles),
            success: function (data) { alert(data); },
            failure: function (errMsg) {
                alert(errMsg);
            }
        });
    }
</script>

<input type="button" value="Click" onclick="submitForm()"/>

Controller 的 Action 将是 -

    public ActionResult AddUser(List<String> Roles)
    {
        return null;
    }

然后当你点击按钮时 -

enter image description here

关于javascript - 使用 jquery 和 ajax 将 json 对象发布到 mvc Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21571201/

相关文章:

javascript - jQueryscrollTo 插件不工作

javascript - 将简单的 ajax 调用转换为使用 promise jQuery/AngularJS

javascript - 如何为一堆静态文件创建纯浏览器/javascript 搜索引擎?

javascript - 无法通过javascript正确获取选定的复选框

javascript - 如何固定LegendBox在图表中的位置?

javascript - 简单 Ajax 加载页面的计时器

jQuery:创建一个新的 DOM 元素并显示它

javascript - Greasemonkey 和 Gmail - 解析邮件内容

javascript - 隐藏与删除 DOM 元素

带有 JQuery POST 的 Javascript 函数始终返回未定义