2

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!".

4

3 回答 3

2

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

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

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

于 2012-12-17T19:13:55.990 回答
1

感谢一位同事。解决方法如下:

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

public ResponseModel messageProcessor(QueryClass query)
{
  ResponseModel model=DoStuff(query.query);
  return model;
}
于 2012-12-17T21:27:12.767 回答
1

尝试这个 :

$.post("/DataAPI/messageProcessor", { 'query' : 'Hello World!' }, function (data) {
     Handle(data); 
   }
});
于 2012-12-17T19:15:56.337 回答