2010-09-15 54 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

相關問題