2016-06-11 111 views
1

我有,我想使用進行重定向的Javascript的ASP.NET MVC 5應用程序:重定向使用JavaScript

var sPageURL = decodeURIComponent(window.location); 
console.log(sPageURL); 
var lengthUrl = sPageURL.split('/').length; 
var NewUrl = ''; 
sPageURL.split('/').forEach(function(item, index) { 
    if (index < lengthUrl - 2) NewUrl += item; 
    if (index == lengthUrl - 1) { 
    if (item == "Organisateur") NewUrl += sPageURL.split('/')[lengthUrl - 2]; 
    } 
}); 
console.log(NewUrl); 
window.location = NewUrl; 

我得到的輸出:

http://localhost:31569/Event/2

http://localhost:31569/Event/localhost:31569

問題是第在新的URL與舊的鏈接:我想http://localhost:31569/Event/2被替換爲localhost:31569

我試過window.location =,window.location.href =window.location.replace,我得到了同樣的結果。

所以我需要知道:

  1. 是什麼這個問題的原因是什麼?
  2. 我該如何解決?
+1

如果你想導航到URL的根目錄,爲什麼不只是'window.location =「/」'? –

+0

@KianCross好工作:一個簡單而好的解決方案。但我仍然不明白我的代碼有什麼問題(請將您的評論發佈爲答案) –

回答

1

使用window.location = "/"應導航到我認爲是你想要做的網頁的主機名。

您聽到類似http://https://的問題未包含在要導航到的網址前面,因此它正在相對於當前網址進行導航。