9 de abril de 2008

Capturar variável via método Get URL com Javascript

Drops, Javascript | 12 Comentários »
por Ricardo José Corrêa

Esse script é uma ótima opção para quem precisa pegar as variáveis pelo método get, mas não tem como usar programação de servidor, tipo PHP.

get-url-variables.js

function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
 
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
		hash[1] = unescape(hash[1]);
		vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
 
    return vars;
}
 
//Exemplo de URL get-url-variables.htm?variavel1=Primeira variavel&variavel2=Segunda variavel
 
var pedaco = getUrlVars();
alert(pedaco['variavel1']); // Caixa de alerta resultara "Primeira variavel"
alert(pedaco['variavel2']); // Caixa de alerta resultara "Segunda variavel"

Você pode deixar um comentário, ou trackback de seu próprio site.

12 comentários para “Capturar variável via método Get URL com Javascript”

  1. Erasmo Altimeri falou:

    ola Amigo, muito bom seu codigo, só tem um problema q quando colou ele deu problema em alguns simbolos.. segue ok…

    function getUrlVars(){
    // Get variaveis por JS;
    var vars = [], pedaco;
    var inteira = window.location.href.slice(window.location.href.indexOf(‘?’) + 1).split(‘&’);
    for (var i = 0; i < inteira.length; i++){
    pedaco = inteira[i].split(‘=’);
    pedaco[1] = unescape(pedaco[1]);
    vars.push(pedaco[0]);
    vars[pedaco[0]] = pedaco[1];
    }
    return vars;
    }

  2. Bruno Costa falou:

    Muito bom! Funcionou perfeitamente! Valew msm!

  3. Luiz Mendes falou:

    Muito obrigado, foi bem útil.

  4. Raul falou:

    Viva,

    preciso saber como mostro uma mensagem tipo title do href, mas no flash … uso o getUrl() mas será q tenho de usar outra função para o title ???

    obg,

    Raul

  5. Ricardo José Corrêa falou:

    Cara, a melhor (ou a mais fácil) forma de colocar variável dentro de um Flash é por Flashvars ou por um XML. Vai por ai que dá certo.

  6. Willian Lira falou:

    Tem como capturar valores enviados via POST com Javascript?

  7. José Mário falou:

    Muito bom! Funcionou certinho aqui no meu projeto!
    Obrigado pela dica e parabéns pelo blog!

    Sucesso!

  8. Miria falou:

    Obrigadaaaaaaaaaaaaa…
    Sua funcao me ajudou pra caramba….Parabens…
    Sucesso….

  9. Maxwell falou:

    Muito bem sacado!! Tá de parabéns!!!
    Valeu!!!

  10. /bin/laden falou:

    E quando na URL vier uma ancôra? Tipo:

    get-url-variables.htm?variavel1=abc&variavel2=123#ancora

    Os retornos de sua função serão ‘abc’ e ’123#ancora’!? Alguma sugestão para resolver isso?

    Valeu.

  11. rafael.exe falou:

    Muito bom o post, porém tem dois problemas bem complicados nesta questão. 1º Se os dados passados forem utilizados = ou ? ou até & vai dar problema, exemplo:
    teste.js?var1=rafael.exe&var2=hoje&manha&var3=deu=erro
    2º O window.location se trata sempre o que está na url do navegador, ou seja, se eu quiser passar por header >> script ai não irá funcionar. Então isso tudo se trata de uma gambiarra, então cuidado!

  12. Anderson_sp falou:

    Muito bom, me ajudou muito!

Deixe um comentário