Web API Post parameters are always NullMVC4的Web API之后的参数空
ASP.NET Web API POST parameter is null
什么这些人的工作,似乎并没有对我的工作。我有几乎完全相同的设置,但仍然在我的第二个控制器中为空。第一个工作正常,但我不能在第二个控制器中复制它。
API调用
$.ajax
({
type: "POST",
url: "http://localhost:52441/api/login",
data: { "Username": "test", "Password": "ptest" }
})
.done(function (data) {
//var json = $.parseJSON(data);
console.log(data);
});
Controller类
public class LoginController : ApiController
{
public bool Post([FromBody]Creds creds)
{
return false;
}
}
Creds类
public class Creds
{
public string Username { get; set; }
public string Password { get; set; }
public Creds(string user, string pass)
{
this.Username = user;
this.Password = pass;
}
}
就像我说的,这个作品另一个控制器(UsersController)内。当我通过{ "First_Name": "John", "Last_Name": "Doe" }
我正确接收Post方法中的User对象public void Post([FromBody]User user)
我在这里错过了什么?
不知道它是否适用于Web的API,但肯定会失败MVC,因为你没有为'Creds' – 2015-03-30 23:32:34
@StephenMuecke感谢您的答复参数的构造函数!我将设置一个,但在我原来的文章中,我提到我也有一个用户类,它的设置完全一样,并且工作正常。另外,我不确定这是否能解释为什么我的后参数为空? – fischgeek 2015-03-30 23:35:45
@StephenMuecke圣洁的废话!我道歉我不相信你。我扔了一个只是为了看到,它的工作!谢谢! – fischgeek 2015-03-30 23:40:44