2
我想調用一個POST API控制器。控制器被調用,但複雜的對象是空的。我已經跑Fiddler和對象甚至來到人口稠密。我究竟做錯了什麼?MVC API控制器的複雜對象沒有從jquery填充ajax調用
我的C#對象
public class RegisterUser
{
public Guid PersonId { get; set; }
public string Email { get; set; }
public string Business { get; set; }
public string EmployeeNumber { get; set; }
public string UserName { get; set; }
}
API柱控制器
public HttpResponseMessage Post(RegisterUser user)
{
//This is where the problem is. Everything in user is null
//even though I can see it coming through on Fiddler.
}
Javascript代碼
function User(personId, userName, email, business, employeeNumber) {
this.PersonId = personId;
this.Email = email;
this.Business = business;
this.EmployeeNumber = employeeNumber;
this.UserName = userName;
}
function RegisterUser(url) {
var createdUser = new User("b3fd25ba-49e8-4247-9f23-a6bb90a62691", "username", "email", "business", "56465");
$.ajax(url, {
data: JSON.stringify({ user: createdUser }),
type: "post",
contentType: "application/json"
});
}
的Web API路由配置
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "RegisterApi",
routeTemplate: "api/{controller}/{user}"
);
}
}
AJAX調用是異步的,它看起來像是在返回任何數據之前執行結果代碼。 –
問題是API控制器RegisterUser對象沒有被填充... js ajax甚至沒有返回。 – Boone
你的動作是否有HttpPost屬性? –