私はajax投稿要求を使用したいが、私のリクエストはGetリクエストを使用するときにのみ機能する。AjaxリクエストPost Params
Get Requestを使用すると、モデルが正しく入力されます。ポストリクエストで私のモデルはnullです。
だから、この作品:コントローラ側で
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<IHttpActionResult> 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<IHttpActionResult> 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; }
}
ヘッダとレスポンス(よりよいそれらを表示する方法がないアイデア): http://pastebin.com/AM6ScEsz
あなたはJsonをサーバーに投稿していません。 'data:JSON.stringify(model)'を試してみてください。リクエストがコントローラメソッドに到達したかどうかを確認するには、コントローラメソッドにブレークポイントを設定します。 – Dandy
これは何も変更されませんでした。リクエストとモデルは正しく送信されません。どうもありがとう。 – Timvr01