托管时,在同一个解决方案中使用javascript访问Web API端点?

时间:2013-08-20 16:05:58

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

过去,我已经在两个完全分离的部分构建了应用程序 - 带有端点的服务器端WebAPI和客户端Web应用程序。 Visual Studio中的两种不同解决方案。然后在我的客户端的dataservice中,我将所有AJAX调用指向托管API端点的任何地方。

现在我正在尝试使用clientside和serverside位构建单个解决方案,我想知道我的AJAX调用应该指向哪里。我可以在本地开发时使用localhost,但是当它在Azure网站上托管时呢?

tldr:

在与WebAPI端点位于同一解决方案中的AJAX调用中应指定哪个端点?

1 个答案:

答案 0 :(得分:2)

如果您正在从浏览器返回到从加载脚本的同一服务器进行AJAX调用,则只需使用URL而无需指定主机。它将与服务器相关,无论您的Web服务器位于何处,它都将起作用。

假设您的Web-API使用默认路径/ api / controller并且您正在使用JQuery,那么您可以使用此代码来获取名为myresource的资源:

$.getJSON('/api/myresource', function (data) {
     //todo: write some code that use the returned data
    });
相关问题