如何在控制器中访问POST请求的参数

使用Javascript:

$.post("/DataAPI/messageProcessor", { query: "Hello World!" }, function (data) { Handle(data); } }); 

控制器:

 [System.Web.Http.AcceptVerbs("Post")] [System.Web.Http.ActionName("messageProcessor")] public ResponseModel messageProcessor(string query) { ResponseModel model=DoStuff(query); return model; } 

如何从控制器访问query 。 它始终以query == null到达。 还有Request对象可用,但我不确定如何浏览其成员以达到我的"Hellow World!"

您需要从客户端传递名称 – 值对:

 $.post("/DataAPI/messageProcessor" , { query: "Hello World!" } , function (data) {} ); 

检查jQuery.Post以获取更多详细信息。

试试这个 :

 $.post("/DataAPI/messageProcessor", { 'query' : 'Hello World!' }, function (data) { Handle(data); } }); 

感谢同事。 解决方案如下:

 public class QueryClass { public string query { get; set; } } public ResponseModel messageProcessor(QueryClass query) { ResponseModel model=DoStuff(query.query); return model; }