gpt4 book ai didi

javascript - 在开发和生产环境中获取基本 url

转载 作者:行者123 更新时间:2023-11-30 13:26:01 25 4
gpt4 key购买 nike

我正在使用 MVC3 并使用 jquery 构建一个标记(链接)。问题是我只能让我的链接在 prod 或 dev 中工作,而不能同时在两者中工作。这是我网站的生产网址。

http://tvap.mydomain.com

这是我的开发网址。 http://localhost/TVAP

因此,我有一个通过 jquery 创建的链接,如下所示。

  var actionCell = $('#itemlist').find(rowId).find(actionCellId);
$('<a>Edit</a>').attr({ 'id': 'edit-' + response.id, 'href': '/Items/Edit/' + response.id }).appendTo(actionCell);

在生产中,这有效,并创建了一个链接

 <a id="edit-17" href="/Items/Edit/17">

但在开发(本地)中它不起作用,因为我需要它。

 <a id="edit-17" href="/TVAP/ItemManagement/Edit/17">

我从中得到以下信息

 $(location).attr('host') ==> localhost
$(location).attr('host') ==> http://localhost/TVAP/Items/Index

要么信息太少,要么信息太多。我知道我可以检查 localhost 并根据需要附加 TVAP,但这看起来像是 hack。另一个开发人员可能使用 ASP.NET VS 开发服务器并获得一个 URL 将包含本地主机但没有我得到的 TVAP。即 - http://localhost:64301/Items/Index

最佳答案

这是我在 _Layout.cshtml 中经常做的事情:

<head>
<!-- other stuff -->
<script type="text/javascript">
window.myProjectName = {
baseUrl : '@Url.Content("~/")'
};
</script>
<!-- other scripts -->
</head>

然后您始终可以使用诸如 myProjectName.baseUrl+"Controller/Action" 之类的东西从您自己的 javascript 文件访问您的资源。这有助于您将 View 与 javascript 分开,这是一件非常好的事情。

您不想混合使用标记和 javascript - 这是一个有很长的路要走的妥协。

关于javascript - 在开发和生产环境中获取基本 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8446016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com