当前位置: 首页 > 面试题库 >

如何让JS了解应用程序根目录?

谢善
2023-03-14
问题内容

/jobs/GetIndex在MVC项目中引用了一些JavaScript
。当我在本地运行它时,此方法效果很好,因为我有一个Controller被调用的JobsController。当我部署它时,我将应用程序部署到“
Jobs”子文件夹中,这意味着该URL应该变成了,http://site/jobs/jobs/GetIndex但它要去到http://site/jobs/GetIndex,我想这是因为javascript不知道“根URL”是什么,并使用该站点作为根。如何使它在两种环境中都能正常工作?


问题答案:

如果您只是在乎获取站点的根目录/基础URL,那么可以附加该URL以获取您要查找的其他URL,您可以将其/用作该URL的第一个字符。

var urlToJobIndex2= "/jobs/GetIndex";

*如果您不仅需要应用程序的根目录, *这是一种替代方法 (例如:特定的urls(使用mvc辅助方法等构建Url.RouteUrl

您可以Url.Content在razor视图中使用helper方法来生成应用库的url,将其分配给javascript变量,然后在其他js代码中使用它来构建其他url。
一定要确保使用javascript命名空间,以避免全局javascript变量可能出现的问题。

如果要获取特定操作方法的URL,可以使用Url.ActionUrl.RouteUrl帮助方法。

因此,可以在剃刀视图( 布局文件或特定 视图)中执行此操作。

<script>
    var myApp = myApp || {};  
    myApp.Urls = myApp.Urls || {};
    myApp.Urls.baseUrl = '@Url.Content("~")';
    myApp.Urls.jobIndexUrl= '@Url.Action("GetIndex","jobs")';
</script>
<script src="~/Scripts/PageSpecificExternalJsFile.js"></script>

PageSpecificExternalJsFile.js文件中,您可以像

var urlToJobIndex= myApp.Urls.jobIndexUrl;
// Or With the base url, you may safely add the remaining url route.
var urlToJobIndex2= myApp.Urls.baseUrl+"jobs/GetIndex";

这是有关的详细答案,但是在特定页面/视图中使用它

角Js

您的角度控制器/服务/指令中可能需要正确的相对URL,同样的方法也适用于您的角度代码。只需构建js名称空间对象并使用angular
value提供程序即可将数据传递到您的angular控制器/服务/指令,如本文中通过示例代码详细说明的那样。



 类似资料:
  • 问题内容: 我的Flask应用程序结构如下所示 当我运行时,它将在处启动服务器。在我,我尝试打开该文件作为 它给出了错误 如何访问此文件? 问题答案: 认为问题出在你/的道路上。删除,/因为与处于同一级别。 我建议将水平设置为或许多Flask用户喜欢使用,但我不喜欢。 如果这是你要设置的方式,请尝试以下操作: 现在,你可以轻松执行以下操作: 根据需要调整路径和级别。

  • 当您下载您的第一款应用程序时,将会同时安装 Adobe Creative Cloud 桌面应用程序(您可以使用改程序管理将来的下载内容) 下载和安装 下载您购买的第一个应用程序 使用您的 Adobe ID 和密码登录到 Adobe 帐户。 在 Creative Cloud 创意应用软件目录中,单击与要下载的应用程序相对应的“下载”按钮。应用程序将开始下载。 在桌面上,双击下载的文件以启动安装程序。

  • 当您下载您的第一款应用程序时,将会同时安装 Adobe Creative Cloud 桌面应用程序(您可以使用改程序管理将来的下载内容) 下载和安装 下载您购买的第一个应用程序 使用您的 Adobe ID 和密码登录到 Adobe 帐户。 在 Creative Cloud 创意应用软件目录中,单击与要下载的应用程序相对应的“下载”按钮。应用程序将开始下载。 在桌面上,双击下载的文件以启动安装程序。

  • 我在某处读到应用程序洞察应该与结构化日志一起工作,我正在尝试使用iLogger的BeginScope将数据记录到应用程序洞察: 但是,当在Application Insights中检查跟踪时,我不是从BeginScope获取日志数据,在本例中只是“Oh No”。这是一个.NET Core2.0应用程序。Application Insights iLogger的默认实现是否不支持BeginScope

  • 了解如何激活和禁用 Creative Cloud 应用程序。 激活 激活会将应用程序连接到有效的用户许可证。在购买计划后,您需要激活您的应用程序,才能使用它们。 使用 Creative Cloud 桌面应用程序激活 确保计算机已连接到 Internet。 单击位于任务栏 (Windows) 或停靠区 (Mac OS) 上的 Creative Cloud 图标,打开 Creative Cloud 桌