1

我有一个 Jquery Ajax 调用更多或如下

 $.ajax(url, {
         type: httpMethod,
         contentType: "application/json; charset=utf-8",
         data: '{name:"abc",age:23,address:"29 judd ce"}',

Web api 操作是

  public HttpResponseMessage Post([FromBody] FormDataCollection data)
        {

但是参数“数据”始终为空。

这是网络 api 限制还是我做错了

谢谢

4

2 回答 2

1

改用视图模型:

public class UserViewModel
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string Address { get; set; }
}

您的控制器将采取的行动:

public HttpResponseMessage Post(UserViewModel model)
{
    ...
}
于 2013-10-31T08:31:08.727 回答
0

这是可能的

 $.ajax("http://localhost:57281/api/Values", {
                    type: "POST",
                    data: '{name:"abc",age:23,address:"29 judd ce"}',
                    contentType: "application/x-www-form-urlencoded"
                });



//POST api/values
public void Post([FromBody]FormDataCollection value)
{

}

也可以不使用[FromBody] 但你只会得到一对键/值

最好使用类似的东西

  $.ajax("http://localhost:57281/api/Values", {
                    type: "POST",
                    data: 'name=abc&age=23&address=29 judd ce',
                    contentType: "application/x-www-form-urlencoded"
                });

& 用作每对的分隔符

于 2013-11-01T05:33:59.143 回答