我在默认网站下的IIS上托管了一个MVC应用程序。所以我可以通过浏览到http://localhost/appname
来访问该应用程序。
我还有一个URL重写模块,如果输入的URL是这样的,它将返回相同的主页
http://localhost/appname/request/*
我想在index.html文件中获取路径网址(http://localhost/appname/
)。我正在使用剃刀语法。因此,如果我在不同的路径或不同的appname下托管网站,我的ajax查询和css将不会受到影响。
如何在index.html文件的javascript中获取http://localhost/appname
。
答案 0 :(得分:4)
您无法访问JavaScript中的完整应用程序路径(即www.hostname.com/appname/
),因为它不了解服务器端实现,它只是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
变量。
答案 1 :(得分:2)
var base = "@Request.Url.GetLeftPart(UriPartial.Authority)";
var path = "@Request.ApplicationPath";
var baseURL = base + path + "/";