为了账号安全,请及时绑定邮箱和手机立即绑定

如何将复杂的键值参数表单视图传递给mvc中的控制器?

如何将复杂的键值参数表单视图传递给mvc中的控制器?

C#
慕莱坞森 2022-07-23 09:00:23
在将复杂的键值对从视图发送到控制器时,我遇到了 ajax 问题。我写了我的ajax查询。除了“currentStateDatas”之外,所有其他变量都正确传递给控制器。但是, currentStateDatas 从视图来看是空的。控制器为“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) {        }    });
查看完整描述

1 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

您的控制器等待为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) {

        }

    });


查看完整回答
反对 回复 2022-07-23
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信