Ajax数据仅适用于获取

时间:2018-07-27 13:29:26

标签: asp.net ajax asp.net-web-api asp.net-web-api2 asp.net-ajax

我正在JavaScript中使用Ajax向我的Asp.Net Web Api发送请求,如下所示:

$.ajax({
    type: 'POST',
    url: "/Api/User/Test",
    data: {
        "Id": "1",
        "FirstName": "John",
        "LastName": "Doe"
    },
    dataType: "json",
    success: OnSuccess,
    error: OnError
});

网络Api:

[HttpPost]
public IHttpActionResult Test(string Id, string FirstName, string LastName)
{
...
}

因此,每当我使用POST作为我的Ajax类型时,它都不起作用。但是,当我将其更改为GET以及Web Api函数时,它可以正常工作。我的意思是不起作用是因为我可以看到请求没有传输数据(Id,FirstName,LastName)。这是为什么? POST方法也可以正常工作。我宁愿避免使用JObjectModel

1 个答案:

答案 0 :(得分:1)

您不能在API中的post中使用多个参数。您只能使用

[HttpPost]
public IHttpActionResult Test([FromBody]string Id)
{
...
}

或者您可以将post与对象一起使用。 İf您必须使用get等使用多个参数。