0

我在默认网站下的 IIS 上托管了一个 MVC 应用程序。所以我可以通过浏览到http://localhost/appname.

我还有一个 URL 重写模块,如果输入的 URL 是这样的,它会返回相同的主页 http://localhost/appname/request/*

我想http://localhost/appname/在我的 index.html 文件中获取路径 url ( )。我正在使用剃刀语法。因此,如果我将站点托管在不同的路径或不同的应用程序名下,我的 ajax 查询和 css 将不会受到影响。

如何获取http://localhost/appnamein index.html 文件的 javascript。

4

2 回答 2

4

您无法www.hostname.com/appname/在 JavaScript 中访问完整的应用程序路径(即 .),因为它不了解服务器端实现,它只是 JavaScript 的 URL。

您可以使用@Url.Content("~/...").

<script type="text/javascript">
    var appPath = @Url.Content("~/");
</script>
<script type="text/javascript" src="@Url.Content("~/scripts/main.js")"></script>

在上面,main.js就可以访问appPath变量了。

于 2013-10-02T18:03:27.807 回答
2
 var base = "@Request.Url.GetLeftPart(UriPartial.Authority)";
 var path = "@Request.ApplicationPath";
 var baseURL = base + path + "/";

参考

于 2013-10-02T18:33:23.323 回答