2011-10-05 46 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

谢谢。这绝对是指向正确的方向 –

相关问题