ajax的params,Ajax请求Post Params

我想使用ajax post请求,但我的请求仅在我使用Get请求时有效。

当我使用Get Request时,我的模型被正确填充。使用post请求我的模型为空。

这样可行:

self.ClearRegimeFromUntil = function () {

var model = { clearFrom: kendo.format("{0:dd/MM/yyyy hh:mm:ss tt}", self.clearFrom()), clearUntil: kendo.format("{0:dd/MM/yyyy hh:mm:ss tt}", self.clearUntil()), userId: self.UserID() };

console.log(model);

$.ajax({

type: "GET",

url: rootUrl + "api/CalendarDays/ClearRegimeFromUntil",

contentType: "application/json; charset=utf-8",

dataType: "json",

data: model,

success: function (response) {

console.log(response);

}

});

};

在控制器端:

[System.Web.Http.HttpGet]

[System.Web.Http.Route(@"api/CalendarDays/ClearRegimeFromUntil")]

public async Task ClearRegimeFromUntil([FromUri] DeleteFromModel model)

{

//await _userCalendarDayRepository.DeleteFutureUserCalendarDays(model.UserId,DateTime.Parse( model.ClearFrom));

return Ok(true);

}

但这不起作用:

self.ClearRegimeFromUntil = function () {

var model = { clearFrom: kendo.format("{0:dd/MM/yyyy hh:mm:ss tt}", self.clearFrom()), clearUntil: kendo.format("{0:dd/MM/yyyy hh:mm:ss tt}", self.clearUntil()), userId: self.UserID() };

console.log(model);

$.ajax({

type: "POST",

url: rootUrl + "api/CalendarDays/ClearRegimeFromUntil",

contentType: "application/json; charset=utf-8",

dataType: "json",

data: model,

success: function (response) {

console.log(response);

}

});

};

在控制器端:

[System.Web.Http.HttpPost]

[System.Web.Http.Route(@"api/CalendarDays/ClearRegimeFromUntil")]

public async Task ClearRegimeFromUntil([FromUri] DeleteFromModel model)

{

//await _userCalendarDayRepository.DeleteFutureUserCalendarDays(model.UserId,DateTime.Parse( model.ClearFrom));

return Ok(true);

}

我的模特:

public class DeleteFromModel

{

public string UserId { get; set; }

public string ClearFrom { get; set; }

public string ClearUntil { get; set; }

}