【发布时间】:2020-08-23 11:42:59
【问题描述】:
我需要将映射(字典)与字符串参数一起传递给 MVC 控制器。
var reportName= 'ReportName';
var FilterValues = new Map([
[0, "value1"],
[1, "value2"],
[2, "value3"],
]);
var model = { reportName: reportName, FilterValues: JSON.parse(FilterValues) };
$.ajax({
url: '/Reports/ExportReport/',
type: 'POST',
contentType: "application/json",
data: model,
success: function(){
alert('success');
},
error: function(){
alert('failure');
}
});
public void ExportReport(string reportName, Dictionary<int, string> FilterValues)
{
还尝试使用 Object 而不是 map 。它让我成功,但没有击中控制器。
let FilterValues = {
1: "value1",
2: "value2",
3: "value3",
};
var report = 'test';
// var data = ('#DesignationReport').DataTable().$('input,select,textarea').serialize();
var model = { reportName: report, FilterValues: FilterValues };
这是我尝试的最后一件事。
【问题讨论】:
-
JSON 不支持 ES2015 构造,例如
Map。根据需要使用对象或数组。请注意,无论如何,使用Map对您的示例没有任何好处。 -
谢谢。用对象试过。由于某种原因不工作。关于如何改进我的代码的任何建议?
标签: javascript json ajax model-view-controller controller