【问题标题】:Accessing webapi using jQuery使用 jQuery 访问 webapi
【发布时间】:2018-09-25 18:30:43
【问题描述】:

我有一个包含多个项目的 ASP.net Web 应用程序:

  1. WebApp(带有 aspx 页面的主网站)
  2. 域(业务逻辑和数据访问层)
  3. API(webapi 项目)

我在 API 项目中添加了 Domain 的引用,以便我可以访问 API 中的业务逻辑和数据层。

这是我的 API 类:

public class ShoppingController : ApiController
{
        // GET api/shopping/GetShoppingCartItemsCount
        public int GetShoppingCartItemsCount()
        {
            ShoppingCartDetails shopping = new ShoppingCartDetails();
            var a = shopping.GetShoppingCart();
            if (a != null && a.Count > 0)
                return a.Count;
            return 0;
        }
}

现在当我从本地机器访问上述函数时,localhost/api/shopping/GetShoppingCartItemsCount 会抛出 resource not found error

谁能告诉我应该如何从浏览器访问上述 WebAPI?

【问题讨论】:

  • 你是通过 jquery ajax 调用 api 吗?
  • 请您添加您的路由配置

标签: asp.net asp.net-web-api web-project


【解决方案1】:

从以下链接Running two projects at once in Visual Studio一起运行多个项目 那么

$.ajax({  
          url: 'http://localhost:3413/api/shopping/GetShoppingCartItemsCount', //your api url  
          type: 'GET',  
          dataType: 'json',  
          success: function (data, textStatus, xhr) {  
            console.log(data);  
             },  
                 error: function (xhr, textStatus, errorThrown) {  
                     console.log('Error in Operation');  
                 }  
             });  

【讨论】:

  • 这个解决方案对我不起作用,我启用了我的 WebApp 和 API 项目作为启动,现在我正在使用带有 api localhost/api/shopping/GetShoppingCartItemsCount 的 jquery 函数,但 api url 没有得到已解决,我也尝试在浏览器中单独访问 api url,它会像之前一样抛出资源未找到错误。
  • 请您在您的api方法[HttpGet]中添加属性然后尝试访问。
  • 即使这不起作用,实际上我已经在 IIS 中托管了我的整个 Web 应用程序,并将 WebApp 和 API 项目转换为应用程序,现在我正在通过 localhost/api/shopping/GetShoppingCartItemsCount 访问 API 函数,在这里我得到资源未找到错误。
  • 检查 IIS 目录是否有适当的访问权限。
猜你喜欢
  • 2018-06-25
  • 2018-12-11
  • 2020-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-05
相关资源
最近更新 更多