【问题标题】:Different URL path for Visual Studio and IISVisual Studio 和 IIS 的不同 URL 路径
【发布时间】:2018-01-23 10:49:18
【问题描述】:
当我在 IIS 中部署应用程序时,如何在 vanilla JavaScript 或 jQuery 中设置 URL?
在 Visual Studio 中,此 URL 有效(无路径):
url: '/street/details/'
但是 IIS 需要这个 URL:
url: '**/utca**/street/details/'.
我想自动修改每个 JavaScript 文件中的 URL。
【问题讨论】:
标签:
jquery
url
iis
asp.net-mvc-5
【解决方案1】:
如果您使用的是asp.net-mvc-5,那么您不应该使用任何硬编码路径。
您应该使用@Html.Action 或@Url.Action 或等效项。这使您可以随意/每个环境移动事物。
如果你真的必须直接使用路径,例如在一个 .js 文件中,你不能使用服务器端并且不想麻烦地将 url 作为参数或 data-属性,最简单的方法是为您的根路径设置一个全局(或命名空间)变量,例如将其放置在您的_layout.cshtml 的<head>:
<script type='text/javascript'>
var mynamespace = mynamespace || {};
mynamespace.rootPath = '@Url.Content("~")';
</script>
那么您的脚本可以在任何需要的地方使用它,例如:
$.ajax({
url: mynamespace.rootPath + 'street/details/',