![](/img/trans.png)
[英]How to pass a list from spring controller to ajax in jquery
[英]How to pass list from ajax to controller
我有一个像这样的 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);
}
});
}
我已经尝试了我能想到的一切:
当我尝试这个时,它通过了 controller 但仅在单个元素上..
似乎没有任何效果......我做错了什么?
顺便说一下 javascript 中的数组是 guid
我如何正确通过它?
您将类型用作“GET”而不是“POST”,使用“POST”并且不更改任何内容,通常它会像这样工作它似乎在您的 LIST 中收到一个字符串
而不是List<string>
在方法 controller 中声明一个字符串数组,所以它应该看起来像这样Report(string[] invoiceIds)
和 ajax 调用只是将数组绑定到data:
像这样的data: invoiceIds
你可以这样试试
var ajaxData = { invoiceIds: invoiceIds };
比通过 ajax 以这种方式传递数据
data: ajaxData
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.