Javascript 当站点不是其URL的根时,如何在getJSON调用中定位API
为了调用ASP.NETMVC4WebAPI,我使用以下约定来调用它的服务Javascript 当站点不是其URL的根时,如何在getJSON调用中定位API,javascript,asp.net-mvc-4,Javascript,Asp.net Mvc 4,为了调用ASP.NETMVC4WebAPI,我使用以下约定来调用它的服务 $.getJSON("api/products/", ... 如果我的网站url是根目录,如http://localhost:10234,一切正常 但是一旦url变成http://localhost/SomeApp,ajax调用失败,因为 .getJSON实际调用http://localhost/api/products而不是http://localhost/SomeApp/api/products。在这种情况下,我应
$.getJSON("api/products/", ...
如果我的网站url是根目录,如http://localhost:10234
,一切正常
但是一旦url变成http://localhost/SomeApp
,ajax调用失败,因为
.getJSON实际调用
http://localhost/api/products
而不是http://localhost/SomeApp/api/products
。在这种情况下,我应该怎么做才能更正位置。“/api/products/”或“~/api/products”不起作用。在my\u Layout.cshtml的第一部分中,我将
<script type="text/javascript">
appFolder = @Url.Content("~/");
</script>
这就解决了问题 您的js代码与web api位于同一服务器中?
$.getJSON(appFolder+"api/products/"