在jquery中使用ajax调用来获取复选框的值,但值不会传递给操作结果

时间:2016-12-27 07:00:48

标签: jquery ajax

例如,如果选中该复选框,则需要获取该值并传递给控制器​​

$(document).ready(function () {$('input:submit').click(function () {
    var allVals = [];
    debugger;
    $('input[type="checkbox"]:checked').each(function () {
        allVals.push($(this).val());
    });
    $.ajax({
        type: 'post',
        dataType: 'json',
        cache: false,
        url: '/Home/ApplyWithdraw',
        traditional: true,
        contentType: "application/json; charset=utf-8",
        data: { 'ids': 'allVals' },
        success: function (data) {
            return data;
        },
   });
});
在家庭控制页面中

mvc动作结果

public ActionResult ApplyWithdraw(int[] ids)
{
}

3 个答案:

答案 0 :(得分:2)

您需要传递变量值而不是字符串,

你有,

data: { 'ids': 'allVals' },

但它应该是,

data: { 'ids': allVals },

答案 1 :(得分:1)

data: { 'ids': 'allVals' }, allVals在这里是variable。把它传递给

data: { 'ids': allVals },

答案 2 :(得分:1)

这是更正后的代码

$(document).ready(function () {$('input:submit').click(function () {
    var allVals = [];
    debugger;
    $('input[type="checkbox"]:checked').each(function () {
        allVals.push($(this).val());
    });
    $.ajax({
        type: 'post',
        dataType: 'json',
        cache: false,
        url: '/Home/ApplyWithdraw',
        traditional: true,
        contentType: "application/json; charset=utf-8",
        data: { 'ids': allVals },
        success: function (data) {
            return data;
        },
   });
});