【问题标题】:JSON to MVC controller [closed]JSON到MVC控制器[关闭]
【发布时间】:2021-10-16 20:13:35
【问题描述】:

我知道有很多类似的问题,但我从那里尝试了一些答案,但我的案例仍然无法正常工作。 我正在尝试将我的 Json 数据传递给 MVC 控制器,但从未调用过控制器。有什么想法吗?

Ajax 调用:

 function getContentModelFromController(onsuccess) {
    
         var chunks = [{
            content: $('#ir-content').text(),
            lang: "en",
            mimeType: "text/plain"
        }];

        var content = {
            title: $('#ir-title').text(),
            chunks: chunks
        };

        $.ajax({
            type: 'POST',
            url: "@Url.Action("GetContentModelForReaderAsync","Home")",
            contentType: 'application/json',
            data: JSON.stringify(content),
            dataType: 'json',
            traditional: true,
            success: function (result, status) {
                onsuccess(result, status);
                console.log('GetContentModelForReaderAsync WORKED ');
            },
            error: function (result, status) {
                console.log('GetContentModelForReaderAsync ' + result.status);
                console.log('GetContentModelForReaderAsync ' + status);
            }
        });
}

控制器:

public class Chunk {
    public string content { get; set; }
    public string lang { get; set; }
    public string mimeType { get; set; }
}

public async Task<JsonResult> GetContentModelForReaderAsync(
            List<Chunk> chunks, string title
            )
        {
           .....
        }

【问题讨论】:

  • 您是否查看了浏览器中的开发人员工具以了解实际发生的情况?
  • 使用 F12 打开开发者工具,转到 [Network] 选项卡并查找任何请求。可能会出现 404 或 500 错误,因为您的端点没有被调用。您还可以从开发控制台查看 javascript 代码,并确保 MVC 将正确的 URL 放入您的代码中。
  • 是的,它进入错误部分,结果为 404 result.status
  • 请发布您的路线配置。

标签: c# json model-view-controller


【解决方案1】:

试试这个

创建视图模型

public class ChunkViewModel {
  public  List<Chunk> Chunks {get; set;}
  public string Title {get; set;}
}

动作

[Route("~/Home/GetContentModelForReaderAsync")]
public async Task<JsonResult> GetContentModelForReaderAsync([FromBody] ChunkViewModel viewModel)
 {
           .....
 }

【讨论】:

    猜你喜欢
    • 2015-12-28
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 2017-04-26
    • 2019-08-05
    相关资源
    最近更新 更多