2

要调用 ASP.NET MVC 4 Web API,我使用以下约定来调用其服务

 $.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”不起作用。

4

1 回答 1

5

在我的 _Layout.cshtml 的第一部分,我把

<script type="text/javascript">
    appFolder = @Url.Content("~/");
</script>

并将我在 javascripts 中的调用更改为

$.getJSON(appFolder+"api/products/"

这解决了问题。

于 2012-08-24T17:29:30.910 回答