首页  >  文章  >  web前端  >  如何确定 ASP.NET MVC 应用程序的 JavaScript 中的应用程序根目录?

如何确定 ASP.NET MVC 应用程序的 JavaScript 中的应用程序根目录?

Susan Sarandon
Susan Sarandon原创
2024-11-02 03:29:02527浏览

How to Determine the Application Root in JavaScript for ASP.NET MVC Applications?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn