尝试在正文中发送 PUT 数据后来自 Web API 的 405 状态代码
A 405 status code from web API after trying to send PUT data in body
好的。
我正在使用 Web API 发出 AJAX 请求。
我正在尝试将 PUT 请求发送到控制器上的操作。
我正在使用路由属性。
当我将数据作为路线数据的一部分发送时,一切都很好,并且操作获得了正确的信息。
但是,当我尝试发送正文中的数据时,我得到 405 状态((不允许使用方法)。
我还将 [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。
知道问题的根源是什么吗?
尝试从
更改路由配置
[Route("status/{status}")]
至
[Route("status")]
好的。 我正在使用 Web API 发出 AJAX 请求。 我正在尝试将 PUT 请求发送到控制器上的操作。 我正在使用路由属性。 当我将数据作为路线数据的一部分发送时,一切都很好,并且操作获得了正确的信息。 但是,当我尝试发送正文中的数据时,我得到 405 状态((不允许使用方法)。 我还将 [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。 知道问题的根源是什么吗?
尝试从
更改路由配置[Route("status/{status}")]
至
[Route("status")]