Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当站点不是其URL的根时,如何在getJSON调用中定位API_Javascript_Asp.net Mvc 4 - Fatal编程技术网

Javascript 当站点不是其URL的根时,如何在getJSON调用中定位API

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。在这种情况下,我应

为了调用ASP.NETMVC4WebAPI,我使用以下约定来调用它的服务

 $.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/"