我有这本书课:
public class Book
{
public string Name { get; set; }
}
本书ApiController带有使用复杂类型参数的post方法:
[RoutePrefix("api/book")]
public class BookController : ApiController
{
[Route("create")]
public Book CreateBook([FromBody]Book book)
{
// Persist the book
return book;
}
}
然后我使用这个jQuery代码来测试我的Post方法:
var data = {"name":"test"};
$.ajax({
type: "POST",
url: "api/book/create",
data: JSON.stringify(data),
dataType: "json",
success: function (result) {
alert(result);
}
});
运行jQuery时,触发了 CreaetBook 操作中的断点,但Book.Name属性为null
。我希望它是test
。
为什么它总是为空?
答案 0 :(得分:2)
尝试不使用JSON.stringify
var data = {"name":"test"};
$.ajax({
type: "POST",
url: "api/book/create",
data: data,
dataType: "json",
success: function (result) {
alert(result);
}
});