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
相关产品推荐
相关产品推荐

