2011-11-10 44 views
0

我試圖讓使用JavaScript的URL參數,所以我可以通過參數設置爲谷歌地圖獲取的參數與JavaScript

的問題是我使用的網址國防部重寫

www.mysite.com/1/my-event

代替

www.mysite.com/mypage。 PHP?ID = 1個&名稱=我的事件

我試着做一個警報,但它出現空白

這裏是JavaScript函數的工作,如果我不重寫網址

function gup(name){ 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) 
     return ""; 
    else 
     return results[1]; 
} 
+0

JS工作在客戶端上。它必須使用的網址是您在地址欄中看到的網址。除非服務器端重寫強制客戶端重定向到重寫的url,否則使用查詢參數進行服務器端重寫對JS不可見。 –

回答

6

帶有查詢字符串的重寫格式不適用於您的JavaScript。

你必須抓住(在你的例子/1/my-event)出location.pathname的價值,而不是:

var params = window.location.pathname.split('/').slice(1); // ["1", "my-event"] 

var id = params[0]; 
var name = params[1]; 
+0

謝謝......我在一分鐘前發現了類似的東西 – AdRock

1

就劈在/字符的URL,並採取最後的要素所得數組中,它們映射到你期望的名字。

+0

任何想法我怎麼做? – AdRock

+0

使用JS的字符串'split()'函數。 – Amber