[英]$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”始终为空。 我究竟做错了什么?
编辑:更正了示例
几件事情-
确保您的url
正确。 我看你的操作方法的名称- ActualizarEstatus
,但你在呼唤/AdminV2/Vet/ObtenerVets
在你的Ajax调用。 那是不对的,请更正。
您必须使用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
的属性中,然后estatus
给var 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.