如何将AJAX请求中的ID列表传递给MVC中的服务器

在对MVC中的服务器的AJAX请求中,如何将ID列表传递给控制器​​的动作函数?

我接受是否使用HTML帮助程序。

我知道,当涉及到简单的类型,如MVC的模型绑定没有问题intstringbool

就像我必须在动作中使用和数组一样吗?

我不在乎我是否必须使用array或者List即使字符串我intstrings我总是可以将它们转换。我只需要它们在服务器上。我的列表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

回到顶部