我知道这个问题在SO中有一些替代方案已经得到了回答,但是这些解决方案都不适合我。
我有一个整数数组,我想通过POST
将AJAX
用作方法。但是以某种方式,参数在控制器中始终为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
?
答案 0 :(得分:1)
您需要传递与您的方法中的参数名称匹配的名称/值对。将ajax调用更改为
module.exports.logActivityLog = async (event, context, callback) => {
//exactly same as above
}