我已經搜索了一整天,但仍無法找到答案。我需要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中定義的。這個路由配置是什麼樣的? –