如何将AJAX请求中的ID列表传递给MVC中的服务器
在对MVC中的服务器的AJAX请求中,如何将ID列表传递给控制器的动作函数?
我接受是否使用HTML帮助程序。
我知道,当涉及到简单的类型,如MVC的模型绑定没有问题int
,string
和bool
。
就像我必须在动作中使用和数组一样吗?
我不在乎我是否必须使用array
或者List
即使字符串我int
或strings
我总是可以将它们转换。我只需要它们在服务器上。我的列表ID目前为空。
Javascript:
var ids= [1,4,5];// ajax request with ids..
MVC动作:
public ActionResult ShowComputerPackageBuffer(List<int> ids) // ids are null{
// build model ect..
return PartialView(model);
}
添加了我的AJAX请求
$(document).ready(function () { $('#spanComputerPackagesBuffer').on('click', function () {
var ids = $('#divComputerPackagesBuffer').data('buffer');
console.log('bufferIds: ' + bufferIds);
var data = {
ids: ids
};
var url = getUrlShowComputerPackageBuffer();
loadTable(url, "result", data);
});
});
// AJAX's
function loadTable(url, updateTargetId, data) {
var promise = $.ajax({
url: url,
dataType: "html",
data: data
})
.done(function (result) {
$('#' + updateTargetId).html(result);
})
.fail(function (jqXhr, textStatus, errorThrown) {
var errMsg = textStatus.toUpperCase() + ": " + errorThrown + '. Could not load HTML.';
alert(errMsg);
});
};
// URL's
function getUrlShowComputerPackageBuffer() {
return '@Url.Action("ShowComputerPackageBuffer", "Buffer")';
};
$.ajax({ type: "POST",
url: '@Url.Action("ShowComputerPackageBuffer", "Buffer")',
dataType: "json",
traditional: true,
data: {
bufferIds: bufferIds
}
});
回答:
使用traditional
参数并将其设置为true
。
$.ajax({ type: "POST",
url: "/URL",
dataType: "json",
traditional: true,
data: {}
});
以上是 如何将AJAX请求中的ID列表传递给MVC中的服务器 的全部内容, 来源链接: utcz.com/qa/405682.html