数组发布为空

时间:2018-07-04 09:35:16

标签: jquery ajax asp.net-mvc-4

我知道这个问题在SO中有一些替代方案已经得到了回答,但是这些解决方案都不适合我。

我有一个整数数组,我想通过POSTAJAX用作方法。但是以某种方式,参数在控制器中始终为null

这是我的JS

function addSelected(cID, pID) {
    var id, idList = [];
    $("#FilteredCategory_" + pID + "_" + cID + " .content ul li a").each(function () {
        id = parseInt(this.className.replace(/[^0-9]/gi, ''), 10);
        idList.push(id);
    });
    $.ajax('@Url.Action("SelectedAdd","Home")', {
        type: "POST",
        traditional: true,
        data: idList,
        success: function (data) {
            alert(data);
        }
    });
}
控制器中的

POST方法:

[HttpPost]
public string SelectedAdd(ICollection<int> topicIds)
{
    string res = string.Empty;
    foreach (var id in topicIds)
    {
        res += $"Item in list: '{id}' \n ";
    }
    return res;
}

任何建议,为什么topicIds总是nul

1 个答案:

答案 0 :(得分:1)

您需要传递与您的方法中的参数名称匹配的名称/值对。将ajax调用更改为

module.exports.logActivityLog = async (event, context, callback) => {
    //exactly same as above
}