使用jquery在GET方法中通过ajax调用传递参数

时间:2018-04-18 08:09:31

标签: jquery ajax asp.net-mvc asp.net-web-api get

我试图检索具有特定项目详细信息的数据。所以我需要在GET方法中使用ajax调用传递特定的项ID。请找到我尝试过的以下代码,

C#:

[HttpGet]
[Route("matter")]
public List<MatterLookup> LookupValuesForMatter(ClientDetails data)
{

}

public class ClientDetails
{
    public string ClientId { get; set; }
}

的Ajax:

var clientId = $("#client").val();
var data =
    {
        clientId: clientId,
    }
$.ajax({
   type: "GET",
   url: "matter",
   data: data,
   success: function (response) {
               if (response != null) {
               }
   }
});

当我尝试传递参数时,收到null而不是特定的列表ID。实际上我已经完成了POST方法,但我需要使用GET方法。

如果您有任何想法,请建议

感谢。

1 个答案:

答案 0 :(得分:2)

默认情况下,web-api绑定来自正文的复杂对象。由于您进行了GET,并且没有正文,因此您需要添加[FromUri]属性,以便从查询字符串值绑定模型的属性。

[HttpGet]
[Route("matter")]
public List<MatterLookup> LookupValuesForMatter([FromUri]ClientDetails data)

或者,为您在请求中传递的每个名称/值对添加一个参数

[HttpGet]
[Route("matter")]
public List<MatterLookup> LookupValuesForMatter(string clientId, .... ) // add simple type parameters as required