带有序列化和数据数组的jQuery post()

Thu*_*ram 5 jquery jquery-post

我在mvc 3中的帖子期间无法获得收集值.它返回null.

$.post("/Work/Post", { vm: $('#myForm').serializeArray(), 'collection': ['a', 'b', 'c'] });

//Or


var data = $('#myForm').serializeArray();
data.push({ name: 'collection', value: ['a', 'b', 'c'] });
$.post("/Work/Post", data);

//Or

var data = $('#myForm').serializeArray();
data.push({ name: 'collection[]', value: ['a', 'b', 'c'] });
$.post("/Work/Post", data);
Run Code Online (Sandbox Code Playgroud)

Mat*_*ttW 8

传递数组时遇到了类似的问题.

而不是使用$.postuse $.ajax并设置traditional选项= true...

$.ajax({
    type: "POST",
    url: "Work/",
    traditional: true,
    data: { collection: ['a','b','c'] }
});
Run Code Online (Sandbox Code Playgroud)

traditional: true选项是非常重要


Thu*_*ram 4

                var model = $('#myForm').serializeArray();

                $.map(['a', 'b', 'c'], function (val, i) {
                    return model.push({ "name": "collection[" + i + "]", "value": val });
                });

                $.post("/Work/Post", model);
                //OR
                $.post("/Work/Post", model, function (data) {
                    //After Success
                });
Run Code Online (Sandbox Code Playgroud)