我正在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
方法也可以正常工作。我宁愿避免使用JObject
或Model
。
答案 0 :(得分:1)
您不能在API中的post中使用多个参数。您只能使用
[HttpPost]
public IHttpActionResult Test([FromBody]string Id)
{
...
}
或者您可以将post与对象一起使用。 İf您必须使用get等使用多个参数。