2011-10-05 1 views
1

나는 일련의 검색어 문자열 매개 변수가있는 추천 URL이 있습니다. 지금까지 내 코드는 다음과 같습니다.추천 URL 검색어 문자열 매개 변수 (자바 스크립트 포함)

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

URL 끝에 하나의 쿼리 문자열 매개 변수가있을 때도 정상적으로 작동합니다. 이제 저는 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

감사합니다. 이것은 분명히 올바른 방향으로 나를 가리켰다. –