2015-05-22 72 views
0

我试图使一个AJAX调用一个ASP.NET的控制器,但不断收到此错误:ASP.NET和jQuery无法加载资源:服务器与405状态响应(不允许的方法)

Failed to load resource: the server responded with a status of 405 (Method Not Allowed)

下面是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

尝试将类型更改为'type:“GET” –

回答

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)); 
      }); 
     } 
    }); 
相关问题