2010-09-15 55 views
1

我得到的JavaScript一个怪异的行为,我不明白:我的应用程序的JavaScript相对URL正在被解决方式不同,具体情况取决于应用程序托管:
一)我计算机的IIS 5.1(Windows XP)或
b)我的主机提供商(我几乎肯定会运行Windows Server 2003)。的Javascript相对URL解析不同,这取决于主机

行为1(正常的吗?) - 与托管在我的电脑上的IIS

应用程序如果浏览器的当前位置是http://localhost/appvirtualdir/Newsletter/List 我跑

window.location = "../Newsletter/List"
Firebug的控制台内,该浏览器重定向到 http://localhost/appvirtualdir/Newsletter/List (保持在同一页面上)。

行为2(奇怪的) - 上托管提供商的应用:

如果浏览器的当前位置为http://my.domain.com/appvirtualdir/Newsletter/List 我跑 Firebug的控制台内完全一样的脚本,浏览器重定向到http://my.domain.com/appvdir/Newsletter/Newsletter/List,这显然不存在。

所以,问题是:为什么在第二种情况下,JavaScript不是“向上移动树”?

谢谢!

回答

1

您确定您位于网址http://my.domain.com/appvirtualdir/Newsletter/List而不是使用http://my.domain.com/appvirtualdir/Newsletter/List/(请注意最后的斜线)?

服务器可能认为这是一个目录(你重定向到http://my.domain.com/appvirtualdir/Newsletter/List/,这种或那种方式,这是可能的,因为当文件List/appvirtualdir/Newsletter被发现后/被简单地忽略),并在这种情况下,浏览器客户端认为你在目录List

+0

你是对的,我没有注意到我被重定向。让我们分享一下像我这样分心的程序员的教训:-)由于一台服务器放置了斜线,另一台服务器不放,所以我现在使用了一个设置为应用程序根路径的全局JavaScript变量。谢谢! – dsetton 2010-09-15 19:17:02

相关问题