我有一个这样的 Controller ..
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})
当我尝试这样做时,它传入了 Controller ,但仅在单个元素上..
似乎没有任何效果...我做错了什么?
顺便说一句,javascript 中的数组是 guid
如何正确传递它?
最佳答案
你使用类型作为“GET”而不是“POST”,使用“POST”并且不要改变任何东西,通常它会像那样工作 它似乎在您的列表中收到一个字符串
关于javascript - 如何将列表从ajax传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58929897/