我已经搜索了一整天,但仍无法找到答案。我需要POST
数据通过jQuery.post
到Web API MVC-4
但无法。这是我的路由:如何在asp.net web api中使用接收POST数据?
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
,这是我Controller
(在GET
作品!):
public string Get(int id)
{
return "value";
}
public void Post([FromBody]string data)
{
//body...
}
这是jQuery.post:
$.post('api/mycontroller', { key1: 'val1' });
任何想法?
编辑:
@Darin:我尝试这样做:
public class UnitDetails{
public string id { get; set; }
}
和:
public void Post(UnitDetails id) {
//body...
}
和:
$.post('api/mycontroller', {id:'string1'});
但我仍想念的东西..它不停止在Post(...){...}
。再次 - Get(...){...}
确实工作..?
API控制器有特殊路由,可以通过'MapHttpRoute'而不是'MapRoute'识别。默认情况下,它们是在App_Start/WebApiConfig.cs中定义的。这个路由配置是什么样的? –