Ссылка на параметры строки запроса URL с Javascript - PullRequest
1 голос
/ 05 октября 2011

У меня есть ссылочный URL с кучей параметров строки запроса. Вот мой код:

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

Это работало нормально, когда у меня был только 1 параметр строки запроса в конце моего URL. Теперь у меня есть 3. Я хотел бы заменить вторую строку, чтобы подстрока остановилась на следующем «&».

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

Оттуда я хотел бы получить еще одну строку, которая фиксирует следующий параметр и сохраняет его как переменную. Хотя я не могу использовать indexOf для этого, так как мне начать с "&", где я остановился?

Спасибо!

1 Ответ

1 голос
/ 05 октября 2011

Есть намного лучшие способы сделать строки запроса, поэтому я буду обсуждать 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);
}

Этот код не симпатичен, но демонстрирует параметр fromIndex indexOf

...