我的ApiController没有收到视图模型中包含的DateTime
对象。
这是我的控制器的内容。
public class FlowApiController : ApiController
{
// GET api/flowapi
public async Task<IEnumerable<FlowItemViewModel>> PostNewItems(SinceNullableViewModel input)
{
var since = input.Since; //since will be null for some reason
...
return something;
}
}
然后这是我的jQuery AJAX调用。我尝试了很多不同的东西,没有运气。这就是我目前所拥有的。
$.ajax("/api/FlowApi/NewItems", {
method: "POST",
data: JSON.stringify({
Since: new Date()
})
});
最后,这是我的SinceNullableViewModel
。
public class SinceNullableViewModel
{
public DateTime Since { get; set; }
}
我在这里做错了什么?
Chrome按以下方式发送数据:
答案 0 :(得分:4)
您非常接近,只需添加一个标头contentType
即可告诉服务器您以JSON格式发送:
$.ajax("/api/FlowApi/NewItems", {
method: "POST",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
Since: new Date()
})
});