簡體   English   中英

$ http.post將空參數發布到mvc.net api

[英]$http.post posts null parameter to mvc.net api

我在我的js上有這個

var modelo = {
    Estatus: 2,
    IdVet: 1                   
};

$http.post('/AdminV2/Vet/ActualizarEstatus', modelo)
    .then(function (res) {

    });

這在我的.cs上

[HttpPost]
public JsonResult ActualizarEstatus(ActualizarEstatus estatus)
{
    if (estatus == null)
    {
        return JsonResultBool(false);
    }
    return JsonResultBool(true);
}

public class ActualizarEstatus
{
    public int Estatus { get; set; }
    public int IdVet { get; set; }
}

並且參數“ estatus”始終為空。 我究竟做錯了什么?

編輯:更正了示例

幾件事情-

  1. 確保您的url正確。 我看你的操作方法的名稱- ActualizarEstatus ,但你在呼喚/AdminV2/Vet/ObtenerVets在你的Ajax調用。 那是不對的,請更正。

  2. 您必須使用estatus變量名稱來通過ajax傳遞數據。

請使用以下代碼,我已經對其進行了測試-

var modelo = {
    Estatus: 2,
    IdVet: 1
};

$.ajax({
    url: "/Home/ActualizarEstatus", // this is my local url, change it with your valid url.
    type: "POST",
    data: JSON.stringify({ estatus: modelo }),
    contentType: "application/json; charset=utf-8",
    success: function(result) {
        console.log(result);
    }
});

當我使用上面的代碼時,我得到以下輸出-

在此處輸入圖片說明

在JS方面,請確保將結果包裝到名為estatus的屬性中,然后estatusvar modelo (在C#和JS中應使用相同的名稱)。 在發送$http.post之前,還要對此屬性進行Stringify

您必須對模型進行分類。 這個包裝器可以幫助您的模型制作json。

$http.post('/AdminV2/Vet/ObtenerVets', JSON.stringify(modelo))
.then(function (res) {

});

暫無
暫無

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

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