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