Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Ajax数据只适用于get_Asp.net_Ajax_Asp.net Web Api_Asp.net Web Api2_Asp.net Ajax - Fatal编程技术网

Asp.net Ajax数据只适用于get

Asp.net Ajax数据只适用于get,asp.net,ajax,asp.net-web-api,asp.net-web-api2,asp.net-ajax,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

我在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
});
Web Api:

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

因此,每当我使用
POST
作为我的
Ajax
类型时,它都不起作用。但是当我将其更改为
GET
以及webapi函数时,它工作得很好。我的意思是它不起作用,因为我可以看到请求没有传输数据(Id、FirstName、LastName)。为什么呢?我能做些什么才能使
POST
方法同样有效。我宁愿避免使用
JObject
Model

您不能在post-in API中使用多个参数。你只能用这个

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

也可以将post与对象一起使用。İ如果必须使用多个参数,则必须使用get等。

为什么我不能在post中使用多个参数?