【发布时间】:2011-05-19 02:48:25
【问题描述】:
有没有办法使用javascript获取请求的路径(浏览器地址栏中显示的路径)与子域的重定向路径(对用户隐藏)
我正在使用一个共享的 javascript 文件(跨多个页面和站点共享),该文件使用 window.location.pathname 确定控制器和操作 (MVC),但是......我刚刚发现自己的部署在子目录下运行我没有在 Visual Studio 开发环境中代表的域。通常情况下,我主机上的子域重定向到 /subdomain 文件夹,但现在我的 window.location.pathname 拉回 /subdomain/controller/action 而地址栏中的 URL 是 /controller/action
显然,我可以调整我的 javascript 来处理这种情况 - 但是可能并不总是有一个子域(至少在我的开发环境中,如果没有别的 - 我完全反对在我的代码中使用“isdev”样式标志等解决方案)所以我必须对这些实例进行故障转移,这意味着事情开始变得更加复杂,因此更容易出错。
非常感谢任何建议。
顺便说一句,我不想使用 .Net 中的值,例如HttpContext ... 因为我的 js 在外部文件中,我不想在视图中创建对数据的依赖以使其正常工作,因为这意味着每次我在新页面上使用 js 时,我都必须记住包含视图中的额外逻辑使其工作,另外,如果我更改我的 js 文件,它可能会导致我也不得不重构一堆视图。
干杯 抢
【问题讨论】:
-
我无法想象,当你在sub.site.com/controller/action 并且你的window.location 是site.com/subdomain/controller/action 或者我只是错过了什么?
标签: javascript asp.net-mvc model-view-controller