2011-10-05 49 views
1

我有一個引用的URL與一堆查詢字符串參數。這裏是我到目前爲止的代碼:引用URL查詢字符串參數w/Javascript

var refURL=document.referrer; 
var stock=refURL.substring(refURL.indexOf('?')+7, refURL.length); 

這工作得很好,當我只有1個查詢字符串參數在我的網址的結尾。現在我有3個。我想替換第二行,以便子字符串停在下一個「&」處。

var stock=refURL.substring(refURL.indexOf('?')+7, ????); 

從那裏,我想有另一條線,抓住下一個參數,並將其存儲爲一個變量。我不能使用indexOf,所以我如何從「&」開始,我從哪裏開始?

謝謝!

+1

試試這個問題:http://stackoverflow.com/questions/901115/get-query-string-values-in -javascript – Rob

回答

1

有很多更好的方法來查詢字符串,所以我會討論indexOf。它實際上需要fromIndex的第二個可選參數。

var str = "com/?test=0&i=2&me=3&u=56"; 
var prevIndx = str.indexOf('?'); 
var query = {}, arr, result, next; 

while(prevIndx != -1) { 
    next = str.indexOf('&', prevIndx+1); 
    if (next == -1) next = str.length; 
    result = str.substring(prevIndx+1, next); 
    arr = result.split('='); 
    console.log(prevIndx)  
    query[arr[0]] = arr[1]; 
    prevIndx = str.indexOf('&', prevIndx+1); 
} 

該代碼是不漂亮,但它表明的indexOf

的參數的fromIndex
+0

謝謝。這絕對是指向正確的方向 –

相關問題