如果您只是关心获取站点的根/基本 url,以便您可以附加它以获取您所追求的另一个 url,您可以简单地使用 / 作为您的 url 的第一个字符。
var urlToJobIndex2= "/jobs/GetIndex";
这是另一种方法,如果您想要的不仅仅是应用程序根目录(例如:特定 url(使用 mvc 辅助方法构建,例如 Url.RouteUrl 等)
您可以在 Razor 视图中使用 Url.Content 辅助方法来生成应用程序库的 url,将其分配给 javascript 变量并在您的其他 js 代码中使用它来构建您的其他 url。
始终确保使用 javascript 命名空间以避免全局 javascript 变量可能出现的问题。
如果您想获取特定操作方法的 url,您可以使用 Url.Action 或 Url.RouteUrl 辅助方法。
因此,在您的 razor 视图(布局文件或特定 view)中,您可以这样做。
<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";
Here 是关于相同的详细答案,但在特定页面/视图中使用它
Angular Js
您的角度控制器/服务/指令中可能需要正确的相对 url。同样的方法也适用于您的角度代码。只需构建 js 命名空间对象并使用 angular value 提供程序将数据传递到您的 angular 控制器/服务/指令,如 in this post 示例代码中的详细说明。