Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
884
Assunto : DHTML
Titulo: Recuperar variável da Querystring pelo javascript

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Não era uma coisa muito comum, mas hoje, com a Web 2.0 e muitos blogs (Live, BlogSpot, WordPress, etc) permitindo personalizações, surgiu esta necessidade : obter, via javascript, um parâmetro que tenha sido passado por transmissão GET.

Exemplo de uma transmissão GET : http://meusite/minhapagina.htm?v=1

Sendo que v=1 é uma variável de valor 1 transmitida via GET. Observe que a extensão da página pode ser qualquer uma, htm, asp, aspx, o que for.

O trecho de código abaixo simplifica a recuperação do valor da variável :


<script type='text/javascript'>
var request = { getParameter: _getParameter };

function _getParameter(querystring)
{
var querystr = new Array();
loc = window.location.search.substr(1).split('&');
if ((loc!='')&&(loc!=null)) {
for (var icnt=0;icnt< loc.length;icnt++)
{
var q = loc[icnt].split('=');
querystr[q[0]] = q[1];
}
return querystr[querystring];
}
else
{
return(null);
}
}
</script>

Temos no código uma função, _getParameter. A primeira linha do script, fora da função, realiza uma tarefa inusitada :

{getParameter : _getParameter} está fazendo a criação dinâmica de uma instância de uma classe (classe esta não definida), sendo que o método getParameter da classe será a função _getParameter.

A função _getParameter, por sua vez, recebe um parâmetro chamado querystring, que será o nome da variável que está sendo buscada.

Esta inteligente artimanha do javascript nos permitirá, em qualquer parte do script javascript, utilizar a seguinte sintaxe :

request.getParameter("v")

Recebendo de volta o valor da variável "v" contida na querystring. Interessante, não ?

Mas vamos analisar melhor o código :

O método "search" do objeto location extrai apenas a parte após a "?" (inclusive) na URL.

O substr(1) elimina a "?", que é o caracter 0

O split("&") irá dividir toda a string em pedaços, criando um array, separando a string exatamente a cada caracter "&" que for encontrado. O caracter "&" representa uma separação de duas variáveis na querystring.

Fazemos então um laço através de cada item do vetor para gerar um array com as variáveis que foram transmitidas via querystring.

Para cada item do "loc" é feito um split, separando a string pelo sinal de "=" e gerando mais um array, "q".

Preenchemos então o array querystr utilizando mais um interessante truque possível no javascript : O array não é indexado numericamente, mas indexado por chaves, que são os nomes das variáveis, que estão na posição q[0], sendo que cada elemento é preenchido com o valor da variável, que encontra-se em q[1].

Por fim utilizamos a variável querystring, que contém o nome da variável que o programador deseja, para retornar o elemento correto do array querystr.

O javascript guarda para nós muitos segredos interessantes e na era da web 2.0 investiga-los pode render bons frutos.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 4/28/2017 10:44:00 AM
nome: trt
email: rtrt@GMAIL.COM
comentário:
SDSD

data: 4/28/2017 10:25:00 AM
nome: f
email: f@gmail.com
comentário:
f

data: 4/2/2017 4:32:00 AM
nome: kglgULMhzrANAcXfDPp
email: jimos4581rt1@hotmail.com
comentário:
DdgSRe http://www.LnAJ7K8QSpkiStk3sLL0hQP6MO2wQ8gO.com

data: 1/31/2017 11:02:00 PM
nome: nPkQIPYNwjhXZCFLxm
email: derby451@hotmail.com
comentário:
hXttm5 http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/31/2017 10:35:00 AM
nome: KNMQqpRgigc
email: derby451@hotmail.com
comentário:
UxmKWQ http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br