You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MVVM架构下C#后端无法接收Ajax POST数据的问题排查

MVVM架构下前端提交数据至C#后端遇404/400错误

在MVVM架构中,尝试将前端HTML页面的数据提交至C#后端时,多次测试场景下(通常是路径问题),要么出现404错误,要么出现400错误。已尝试修改路径、数据类型,前端传入不同格式的数据,后端也尝试过添加不同参数的方法(如仅字符串、基于类的列表等),但问题仍未解决。

初始代码

前端JavaScript代码

$.ajax({
    type: 'POST',
    url: 'ReportModel/DepAct',
    data: JSON.stringify({ prop1: 'value1', prop2: 'value2' }),
    contentType: 'application/json; charset=utf-8',
    success: function (data) {
        alert('Data sent to backend!');
    },
    error: function (xhr, status, error) {
        alert('Data was not sent to backend!');
    }
});

后端C#代码

public ActionResult DepAct(List<DepTB> selectedDep)
{
    // Process data as needed
    return new JsonResult(new { success = true });
}

更新1:修改代码匹配数据类型后仍未解决

修改后的JavaScript代码

var selectedDep = [{ prop1: "value1", prop2: "value2" }];
$.ajax({
    type: 'POST',
    url: '/Report/DepAct',
    data: JSON.stringify(selectedDep),
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function (data) {
        alert('Data sent to backend!');
    },
    error: function (xhr, status, error) {
        alert('Data was not sent to backend!');
    }
});

实体类代码

public class DepTB1
{
    public string prop1 { get; set; }
    public string prop2 { get; set; }
}

修改后的后端方法

public ActionResult DepAct([FromBody] List<DepTB1> selectedDep)
{
    // Process data as needed
    return new JsonResult(new { success = true });
}

内容的提问来源于stack exchange,提问作者Stelian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 00:52:40