WebApi方法没有得到发布的数据.缺少了什么?
WebApi method is not getting posted data. What is missing?
我正在尝试使用ASP实现臭名昭著的Todo
应用程序。. NET WebApi 2.
Todo模型:
public class Todo
{
public int Id { get; set; }
public string Title { get; set; }
}
WebApi Post:
public void Post([FromBody]Todo todo)
{
// code to handle post.
}
Javascript
click
$("#add").click(function(e) {
var todo = {
"Id": 20000,
"Title": "Hello world"
};
$.post( "http://localhost:51386/api/todo", JSON.stringify(todo))
.done(function( data ) {
alert( "Data Loaded: " + data );
});
});
我的HTTP
请求体看起来像这样:
{"Id":20000,"Title":"Hello world"}
使用默认路由。
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
当我调试Post
方法时,它总是空的。我到底错过了什么?
根据您的示例代码,我所能想到的是您没有在配置中包含JSON Formatter。它应该是这样的:
System.Web.Http.GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
config.Formatters.Insert(0, new System.Net.Http.Formatting.JsonMediaTypeFormatter());
Content-Type=application/json
只有在你设置了合适的格式化器后才会起作用。
相关文章:
- angular.js我如何设置数据什么是响应值
- 在函数调用中封装数据除了隐藏数据之外还有什么优点
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 鼠标悬停的属性数据是什么
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 什么是从html表单发送数据的纯javascript版本
- 选择具有特定数据的所有 html 标记的最有效方法是什么 - [适当性],无论值如何
- 识别值是否与 jqGrid 数据中的任何键匹配的正确方法是什么?
- JavaScript中的“符号”原始数据类型是什么?
- 什么是数据序列化
- AngularJS中使用ajax获取数据的最佳方式是什么
- canvas' toDataURL() 函数可能的数据类型是什么?
- 正在获取[对象,对象],而不是整个用户数据.这是什么意思
- 什么'最合适的数据结构是什么?(使用一个有间隙的数组是否存在缺点或注意事项?)
- 在jQuery数据表中使用AngularJS观察者的方法是什么
- Spring MVC与Google图表,创建javascript数据表的最佳方式是什么
- 使用 php ajax jquery 从 mysql 发送或获取数据 - 什么是安全方法
- 余烬数据什么是分片数据的正确方法
- 读取CSV错误:非法数据.什么'正在发生