尝试在正文中发送PUT数据后,来自Web API的405状态代码

时间:2015-01-12 07:50:46

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

确定。 我正在使用Web API来发出AJAX请求。 我正在尝试向控制器上的操作发送PUT请求。 我正在使用路由属性。 当我将数据作为路径数据的一部分发送时,一切都很好,操作得到正确的信息。 但是,当我尝试在正文中发送数据时,我得到405状态((不允许使用Method)。 我还将[FromBody]属性添加到参数中。这是jQuery调用:

  type: 'PUT',
    url: 'api/ServerQueue/activity',
    data: "=2",
    success: function (xhr) {
        $("#load").hide();
    },
    error: function () {
       $("#load").hide();
    }
  };

这是我的行动:

    [Route("status/{status}")]
    public string PutStatus([FromBody]int status)
    {
    }

我在控制器主体上放置了“RoutePrefix”。 顺便说一下,我正在使用VS 2012。 知道可能是问题的根源吗?

1 个答案:

答案 0 :(得分:0)

尝试从

更改路线配置
[Route("status/{status}")]

[Route("status")]