如何解决在Ajax Post到API控制器上出现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);
//... more logic here
return true;
}
我在javascript中正确获取了JSOn.Stringify数据,但出现400错误,甚至从未在控制器上碰到断点。我在做什么错,为什么会出现400错误?为什么它不能正确识别我的json模型?
解决方法
我认为问题出在客户端,尤其是在数据部分。 在js中创建一个对象并将其发送。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。