Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在mvc控制器中从jquery接收复杂对象_Javascript_Jquery_Asp.net_Asp.net Mvc_Asp.net Mvc 5 - Fatal编程技术网

Javascript 在mvc控制器中从jquery接收复杂对象

Javascript 在mvc控制器中从jquery接收复杂对象,javascript,jquery,asp.net,asp.net-mvc,asp.net-mvc-5,Javascript,Jquery,Asp.net,Asp.net Mvc,Asp.net Mvc 5,我正在尝试将一个对象从表单提交到我的mvc控制器。 以下是js: <script> function submitForm() { var usersRoles = new Array; jQuery("#dualSelectRoles2 option").each(function () { usersRoles.push(jQuery(this).val()); }); var model = new Object();

我正在尝试将一个对象从表单提交到我的mvc控制器。 以下是js:

<script>
    function submitForm() {
    var usersRoles = new Array;
    jQuery("#dualSelectRoles2 option").each(function () {
        usersRoles.push(jQuery(this).val());
    });
    var model = new Object();
    model.user = jQuery('#selectUser').val();
    model.roleslist = usersRoles;
    console.log('model: ' + 'user: ' + model.user + 'roles: ' + model.roleslist);
    console.log('JSON: ' + JSON.stringify(model));
    jQuery.ajax({
        type: "POST",
        url: "@Url.Action("
        AddUser ")",
        dataType: "json",
        //data: { model: JSON.stringify(usersRoles) },
        data: {
            model: JSON.stringify(model)
        },
        success: function (data) {
            alert(data);
        },
        failure: function (errMsg) {
            alert(errMsg);
        }
    });
}
如何在控制器中接收json对象?现在,当jquery执行post时,当前我的模型为空。这意味着它没有正确绑定。我肯定这里有点小问题


你能指出我哪里出了问题吗。

我稍微修改了你的JQuery,现在它可以正常工作了-

jQuery.ajax({
        type: "POST",
        url: "@Url.Action("AddUser")",
        contentType: "application/json",
        data: JSON.stringify(model),
        success: function (data) { alert(data); },
        error: function (errMsg) {
            alert(errMsg);
        }
    });
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
    function submitForm() {
        var roles = ["role1", "role2", "role3"];
        var rolesArray = jQuery.makeArray(roles);

        var model = new Object();
        model.userId = 1;
        model.rolesList = rolesArray;

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

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

函数submitForm(){
变量角色=[“角色1”、“角色2”、“角色3”];
var rolesArray=jQuery.makeArray(角色);
var model=新对象();
model.userId=1;
model.rolesList=rolesArray;
jQuery.ajax({
类型:“POST”,
url:“@url.Action(“AddUser”)”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.stringify(模型),
成功:函数(数据){警报(数据);},
失败:函数(errMsg){
警报(errMsg);
}
});
}
输出-

jQuery.ajax({
        type: "POST",
        url: "@Url.Action("AddUser")",
        contentType: "application/json",
        data: JSON.stringify(model),
        success: function (data) { alert(data); },
        error: function (errMsg) {
            alert(errMsg);
        }
    });
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
    function submitForm() {
        var roles = ["role1", "role2", "role3"];
        var rolesArray = jQuery.makeArray(roles);

        var model = new Object();
        model.userId = 1;
        model.rolesList = rolesArray;

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

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