Преобразование строки переменных, разделенных символом & в массив

Я хочу захватить переменные, содержащиеся в URL-адресе, после того, как кто-то войдет в мое приложение Facebook.

Например:

// window.location = .../#access_token=CTTG4fT3ci...&expires_in=5298
hash = window.location.hash;
data = PARSE(hash);
console.log(data['access_token'] + ', ' + data['expires_in']);
// returns: CAAG4fT3ci..., 5298

Есть ли метод или функция, подобные JSON.parse(), которые преобразуют "хэш" в массив или объект?

1 ответ

function PARSE (hash) {
 var l, chunk, i = 0, out = {};
 var chunks = hash.substr(1).split('&');
 for ( l = chunks.length; i < l; i++ ) {
 chunk = chunks[i].split('=');
 out[ chunk[0] ] = chunk[1];
 }
 return out;
}

Здесь скрипка: http://jsfiddle.net/VwLJS/

licensed under cc by-sa 3.0 with attribution.