调用webapi时发生405错误使用ajax获取方法

问题描述:

我开发了WebApi和客户端页面进行测试。 这里是我的控制器调用webapi时发生405错误使用ajax获取方法

public class CarDetailsController : ApiController 
{ 
    // GET api/cardetails 
    [HttpGet] 
    public IEnumerable<CarsStock > GetAllcarDetails() 
    { 
     CarsStock ST = new CarsStock(); 
     CarsStock ST1 = new CarsStock(); 
     List<CarsStock> li = new List<CarsStock>(); 

      ST.CarName = "Maruti Waganor"; 
      ST.CarPrice = "4 Lakh"; 
      ST.CarModel = "VXI"; 
      ST.CarColor = "Brown"; 
      li.Add(ST); 

      ST1.CarName = "Maruti Swift"; 
      ST1.CarPrice = "5 Lakh"; 
      ST1.CarModel = "VXI"; 
      ST1.CarColor = "RED"; 
      li.Add(ST1); 

     return li; 
    } 

}

,这里是我的Ajax调用

<button onclick="AllcarDetails()"></button> 
    <script type="text/javascript"> 
     function AllcarDetails() 
     { 
      $.ajax({ 
      type: "GET", 
      headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/json' 
      }, 
      contentType: 'application/json', 
      url: "http://localhost:1822/api/cardetails", //URI 
      success: function (data) { 
       debugger; 
       var datadatavalue = data; 

      }, 
      error: function (xhr) { 
       alert(xhr.responseText); 
      } 
    }); 
     } 
    </script> 

它给405不允许错误由谷歌搜索尝试了所有再寄一次,但无法找到确切的有人能帮我解决这个问题吗?

得到正确的结果,而从浏览器“http://localhost:1822/api/cardetails

+0

所以它适用于浏览器,但哪里不行?只是猜测,尝试删除标题。 – Spluf

+0

虽然调用ajax GET方法,但它给我错误 –

+0

我删除,但仍然无法工作 –

叫你检查,以便HTTP激活被激活,你运行该代码?

+0

虽然简单地在浏览器中调用uri我可以得到结果,但使用ajax它会产生405错误 –