在 JavaScript 中确定应用程序根目录
在 Web 开发中,JavaScript 通常需要访问应用程序的根目录或基本 URL。在 ASP.NET MVC 应用程序中,应用程序根目录可能会因部署而异。
问题:
如果 JavaScript 在以下位置引用了类似“/jobs/GetIndex”的 URL代码,当应用程序部署到“Jobs”等子文件夹时,它可能无法正常工作。这是因为 URL 将解析为“http://site/jobs/GetIndex”而不是“http://site/jobs/jobs/GetIndex”。
解决方案 1:使用绝对路径正斜杠
一个简单的解决方案是在 URL 开头添加正斜杠(“/”)。这可确保 URL 相对于应用程序根进行解析。例如:
var urlToJobIndex2= "/jobs/GetIndex";
解决方案 2:命名空间 JavaScript 变量
要获得更动态的方法,请创建 JavaScript 命名空间并将应用程序根 URL 分配给变量。然后,当您需要构造其他 URL 时,可以将它们附加到基本 URL。
在 Razor 视图中,使用 Url.Content 辅助方法生成基本 URL 并将其分配给命名空间变量。确保使用 JavaScript 命名空间以避免与全局变量冲突:
<script> var myApp = myApp || {}; myApp.Urls = myApp.Urls || {}; myApp.Urls.baseUrl = '@Url.Content("~")'; </script>
在 JavaScript 文件中,您可以访问基本 URL:
var urlToJobIndex= myApp.Urls.jobIndexUrl;
您还可以组合基本 URL使用附加路由来创建其他 URL。例如:
var urlToJobIndex2= myApp.Urls.baseUrl+"jobs/GetIndex";
以上是如何确定 ASP.NET MVC 应用程序的 JavaScript 中的应用程序根目录?的详细内容。更多信息请关注PHP中文网其他相关文章!