我正在使用Asp.Net Core MVC。我正在尝试使用jquery http post发布对象到操作结果。当我用静态值设置对象时,可以看到在客户端和后端都正确设置了所有字段。发布的对象不为null。
当我使用jquery .val()方法设置请求字段时。请求对象作为null发送到后端。我在哪里犯错?
$("#saveReport").on("click",function () { //SENDS NULL OBJECT
var request = {
BookId: $("#cmbBook").val(),PageCount: $("#txtPageCount").val(),Date: $("#dateReport").val(),Note: $("#txtNotes").val(),};
//var request = { //SENDS OBJECT PROPERLY
// BookId: 1,// PageCount: 10,// Note: "test"
//};
$.ajax({
type: "POST",url: appUrl + "Report/AddUserReport",data: JSON.stringify(request),success: function (data) {
},error: function (data) {
},contentType: "application/json; charset=utf-8",dataType: "json"
});
});
下面是后端
[HttpPost]
public actionResult<ReadingLogResponse> AddUserReport([FromBody]AddReportModel model)
{
var response = _reportBusiness.AddReport(new AddReadingLogRequest()
{
BookId = model.BookId,Date = model.Date,Note = model.Note,PageCount = model.PageCount
});
return response;
}