我有以下javascript函数,它将数据发布到我的控制器(asp .net核心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模型?
发布于 2020-08-12 07:44:47
我认为问题在客户端,尤其是在数据方面。在js中创建一个对象并发送它。
https://stackoverflow.com/questions/63379841
复制相似问题