【问题标题】:405 error while calling webapi get method using ajax使用 ajax 调用 webapi get 方法时出现 405 错误
【发布时间】:2016-10-16 02:54:44
【问题描述】:

我开发了一个用于测试的 WebApi 和客户端页面。 这是我的控制器

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 Method Not Allowed 错误。我尝试通过谷歌搜索但找不到确切的情况。有人可以帮我解决这个问题吗?

从浏览器'http://localhost:1822/api/cardetails'调用时得到正确的结果

【问题讨论】:

  • 所以它可以在浏览器上运行,但是它在哪里不工作呢?只是一个猜测,尝试删除标题。
  • 调用ajax GET方法时报错
  • 我已删除但仍无法正常工作
  • 我也猜想 ajax 和 api 在同一台服务器上运行,所以把你的 url 改成这样:url: "/api/cardetails",。还要确保您在控制器上使用[System.Web.Http.HttpGet] 属性,而不是[System.Web.Mvc.HttpGet] 属性。
  • url改成“localhost:8383/api/cardetails”但是没有响应或者报错

标签: ajax asp.net-web-api http-status-code-405


【解决方案1】:

您是否检查过在您运行此代码的地方激活了 HTTP 激活?

【讨论】:

  • 虽然只是在浏览器中调用 uri 我可以得到结果,但使用 ajax 会出现 405 错误
猜你喜欢
  • 2023-04-07
  • 2014-01-10
  • 2020-11-19
  • 1970-01-01
  • 2019-03-20
  • 2014-08-31
  • 2017-08-02
  • 2017-07-22
  • 1970-01-01
相关资源
最近更新 更多