[英]The requested resource does not support http method 'GET' ASP MVC
我有一个MVC api并使用控制器来访问我的数据,但我使用ajax和knockoutjs来调用我的方法,但我收到以下错误:请求的资源不支持http方法'GET'。 我尝试在我的控制器方法的顶部使用[HttpGET],但它仍然无法正常工作。 我不知道如何解决这个问题。
敲我的api调用ViewModel:
vm = {
Data: ko.observable(),
Bound: 0,
Load: function () {
$.ajax({
type: "GET",
url: "../api/adusers",
contentType: "application/json;charset=utf-8",
success: function (result) {
vm.Data(ko.utils.unwrapObservable(ko.mapping.fromJS(result)));
if (!vm.Bound) {
ko.applyBindings(vm, document.getElementById("form1"));
$('#tableUsers').show();
vm.Bound = true;
}
},
error: function (xhr, status) {
alert(status + " - " + xhr.responseText);
}
})
}
}
API控制器:
public class ADUsersController : ApiController
{
[HttpGet]
public static List<Models.Users> GetADUsers()
{
return AD.GetUsers(System.Configuration.ConfigurationManager.AppSettings["NETBios"]
, System.Configuration.ConfigurationManager.AppSettings["Container"]
, System.Configuration.ConfigurationManager.AppSettings["ADServerUN"]
, System.Configuration.ConfigurationManager.AppSettings["ADServerPW"]);
}
}
您将控制器操作声明为static
,显然不支持。 控制器动作是实例方法。 因此,请确保将您的操作声明为实例方法:
public class ADUsersController : ApiController
{
[HttpGet]
public List<Models.Users> GetADUsers()
{
return AD.GetUsers(
System.Configuration.ConfigurationManager.AppSettings["NETBios"],
System.Configuration.ConfigurationManager.AppSettings["Container"],
System.Configuration.ConfigurationManager.AppSettings["ADServerUN"],
System.Configuration.ConfigurationManager.AppSettings["ADServerPW"]
);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.