我正在尝试对ASP.NET控制器进行ajax调用,但不断收到此错误:
无法加载资源:服务器响应状态为405 (不允许的方法)
这是ajax代码:
$.ajax({
type: "POST",
url: "api/connection/getCommunities",
dataType: 'json',
contentType: "application/json; charset=utf-8",
cache: false,
success: function (data) {
var communityDropdown = $("#communtiyDropdown");
$.each(data, function () {
communityDropdown.append($("<option />").val(data.Job_NO).text(data.Job_NO));
});
}
});
这是控制器:
public class ConnectionController : ApiController
{
[WebMethod]
public List<CommunityClass> getCommunities()
{
ConnectionClass jobs = new ConnectionClass();
return jobs.getCommunities();
}
}
我做错了什么?当我直接转到URL时,它可以工作。但是当我尝试在ajax调用中调用它时它不起作用。
答案 0 :(得分:1)
可能有web.config设置阻止在该服务上使用POST。更改您的AJAX代码以使用GET,看看它是否有效。
$.ajax({
type: "GET",
url: "api/connection/getCommunities",
dataType: 'json',
contentType: "application/json; charset=utf-8",
cache: false,
success: function (data) {
var communityDropdown = $("#communtiyDropdown");
$.each(data, function () {
communityDropdown.append($("<option />").val(data.Job_NO).text(data.Job_NO));
});
}
});