在向API控制器发送的ajax请求中遇到了400错误。
在向API控制器发送的ajax请求中遇到了400错误。
我有以下的JavaScript函数,用于将数据发送到我的控制器(asp .net core 3.1项目):
function saveState() { const gridInstance = $("#ClaimsGrid").dxDataGrid("instance"); var userstate = gridInstance.state(); var data = { StateTypeID: 1, StateChange: userstate }; $.ajax({ type: "POST", data: JSON.stringify(data), url: "/api/PostUserState", contentType: "application/json", success: function () { alert("Your grid profile has been saved"); }, error: function () { alert("An error occurred during save of your grid profile"); } }); }
我的控制器正在寻找名为UserStateChange的模型,该模型定义如下:
public class UserStateChange { public int StateTypeID { get; set; } public string StateChange { get; set; } }
控制器代码本身如下:
[HttpPost("/api/PostUserState")] public bool PostUserState([FromBody] UserStateChange state) { var UserID = new Guid(HttpContext.Session.GetString("UserId").ToString()); UserState mod = new UserState(); var cur = _context.UserState.First(a => a.AppUserID == UserID && a.StateTypeID == state.StateTypeID); //... 更多逻辑 return true; }
我在JavaScript中正确地获取了JSON.stringify的数据,但我收到了400错误,并且甚至没有命中我的控制器断点。我做错了什么?为什么会出现400错误?为什么它没有正确地识别我的JSON模型?