簡體   English   中英

Ajax請求發布參數

[英]Ajax request Post Params

我想使用ajax發布請求,但是我的請求僅在我使用Get請求時有效。

當我使用“獲取請求”時,我的模型已正確填充。 在發布請求后,我的模型為空。

所以這工作:

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

刪除[FromUri]將解決問題。

[System.Web.Http.HttpPost]
[System.Web.Http.Route(@"api/CalendarDays/ClearRegimeFromUntil")]
public async Task<IHttpActionResult> ClearRegimeFromUntil(DeleteFromModel model)
{

    //await _userCalendarDayRepository.DeleteFutureUserCalendarDays(model.UserId,DateTime.Parse( model.ClearFrom));
    return Ok(true);
}

檢查您的HTML表單是否在POST中

<form method="post">
...
</form>

您能否將您的網絡標頭和對ajax請求的響應發送給我們?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM