gpt4 book ai didi

c# - 如何在mvc中将复杂的键值参数从 View 传递到 Controller ?

转载 作者:行者123 更新时间:2023-11-30 21:30:32 26 4
gpt4 key购买 nike

在将复杂的键值对从 View 发送到 Controller 时,我遇到了 ajax 问题。我写了我的ajax查询。除了“currentStateDatas”之外,所有其他变量都正确传递到 Controller 。但是,currentStateDatas 从 View 中显示为 null。 Controller 等待“currentStateDatas”的“字符串”,因为我需要它的字符串类型。我一直无法找出问题所在。请你帮助我好吗 ?顺便说一句,“currentStateDatas”包含 json。它有太多嵌套的键值对。

currentStateDatas = {};
//some values are taken from forms.
$.ajax({
url: "@Url.Action("SaveTempReport", "Report")",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ "categoryIds": categoryIds, "reportName": reportName, "Description": description, "tempReportId": tempReportId, "chartState": currentStateDatas, "deparmentIds": deparmentIds}),
success: function (response) {

}
});

最佳答案

您的 Controller 等待 currentStateDatas 作为 string,但在您的 js 代码中它是一个对象,您还应该将 currentStateDatas 转换为字符串使用 JSON.stringify。

$.ajax({
url: "@Url.Action("SaveTempReport", "Report")",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ "categoryIds": categoryIds,
"reportName": reportName,
"Description": description,
"tempReportId": tempReportId,
"chartState": JSON.stringify(currentStateDatas),
"deparmentIds": deparmentIds}),
success: function (response) {
}
});

关于c# - 如何在mvc中将复杂的键值参数从 View 传递到 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54215383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com