$ http.post将空参数发布到mvc.net api

时间:2016-01-23 01:26:00

标签: c# asp.net-mvc

我在我的js上有这个

Square._Polygon__area

这是我的.cs

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

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

    });

参数“estatus”始终为null。我做错了什么?

编辑:更正了示例

3 个答案:

答案 0 :(得分:3)

一些事情 -

  1. 确保您的url是正确的。我将您的操作方法名称视为 - ActualizarEstatus,但您在ajax调用中调用了/AdminV2/Vet/ObtenerVets。这是不对的,所以纠正它。

  2. 您必须使用estatus变量名称通过ajax传递数据。

  3. 请使用以下代码,我测试了它 -

    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);
        }
    });
    

    当我使用上面的代码时,我得到以下输出 -

    enter image description here

答案 1 :(得分:1)

在JS方面,确保在分配给estatus之前将结果包装在名为var modelo的Property中(同样的名称应该在C#和JS中使用)。在发送Stringify

之前,还要$http.post此属性

答案 2 :(得分:1)

您必须对模型进行字符串化。这个包装器可以帮助你的模型制作json。

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

});