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

时间:2012-12-17 19:12:10

标签: c# jquery asp.net-mvc rest 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!"

3 个答案:

答案 0 :(得分:1)

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

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

查看jQuery.Post了解详情。

答案 1 :(得分:1)

试试这个:

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

答案 2 :(得分:1)

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

public class QueryClass 
{
public string query { get; set; }
}

public ResponseModel messageProcessor(QueryClass query)
{
  ResponseModel model=DoStuff(query.query);
  return model;
}