ASP.NET和jQuery无法加载资源:服务器响应状态为405(方法不允许)

时间:2015-05-22 19:45:31

标签: c# jquery asp.net ajax

我正在尝试对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调用中调用它时它不起作用。

1 个答案:

答案 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));
            });
        }
    });