我有一个像这样的控制器。
public ActionResult Report(List<string> invoiceIds)
我有一个像这样的ajax通话...
function generateAccountsPayableReports() {
var ms = $("#msInvoicesAPV").data("kendoMultiSelect");
var invoices = ms.dataItems();
var invoiceIds = [];
invoices.forEach(function (invoice) {
invoiceIds.push(invoice.Id);
});
//invoiceIds = JSON.stringify(invoiceIds);
console.log("InvoiceIds: ", invoiceIds);
$.ajax({
type: "GET",
url: "/APV/Report",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(invoiceIds),
success: function (result) {
if (result) {
console.log("result: ", result);
}
},
failure: function (result) {
console.error("result: ", result);
},
error: function (result) {
console.error("result: ", result);
}
});
}
我已经尝试了所有我能想到的:
数据:{'invoiceIds':JSON.stringify(invoiceIds)}
资料:(invoiceIds)
数据:{'invoiceIds':invoiceIds}
数据:JSON.stringify(invoiceIds)
数据:invoiceIds
数据:JSON.stringify({'invoiceIds':invoiceIds})
当我尝试此操作时,它传递给控制器,但仅传递给单个元素。
似乎没有任何作用...我在做什么错?
顺便说一句,在JavaScript数组
如何正确通过?
最佳答案
您将类型用作“ GET”而不是“ POST”,使用“ POST”并且不进行任何更改,通常它将那样工作
看来它在您的LIST中收到一个字符串