将 JavaScript 对象放入我的控制器:我在这里缺少什么

本文关键字:在这里 什么 控制器 对象 JavaScript 我的 | 更新日期: 2023-09-27 17:56:18

当我尝试运行时出现500 (Internal Server Error)

    $.ajax({
        xhr: function() {
            var xhr = new window.XMLHttpRequest();
            return xhr;
        },
        type: 'POST',
        url: '@Url.Action("MyAction","MyController")',
        data:  fi,
        contentType: "application/json; charset=utf-8",
        dataType: "json", // dataType is json format
        success: function(retJson) {
            // ...
        }
    });

其中fi是像{org: "string1", cat: "string2", fileName: "string3"}这样的JavaScript映射,而myAction是像

    [HttpPost]
    public async Task<JsonResult> myAction (FileInfo fi)
    {

其中FileInfo

    public class FileInfo
    {
        public string org { get; set; }
        public string cat { get; set; }
        public string fileName { get; set; }
    }

知道我在这里错过了什么吗?

将 JavaScript 对象放入我的控制器:我在这里缺少什么

问题在于 JSON 对象的定义方式。

它应该有道具名称的单引号,如下所示:

 {'org': 'string1', 'cat': 'string2', 'fileName': 'string3'}