segunda-feira, 23 de junho de 2008

Método GET com Javascript

A passagem de parâmetros entre páginas da web é usada constantemente na Internet. Essa forma de comunicação entre as páginas de um site é comumente processada por um servidor HTTP como o Apache. Existem dois métodos bem famosos de passagem de parâmetros: o GET e o POST.

A passagem de parâmetros acontece mais ou menos assim: No lado do cliente, os dados são incluidos na URL da próxima página (método GET) ou os dados são enviados em um formulário oculto para a próxima página (metodo POST); O cliente envia uma requisição HTTP para a URL que irá processá-los; quando a requisição chega ao servidor HTTP, ela será processada usando alguma linguagem como PHP ou CGI; Os parâmetros serão traduzidos em variáveis acessíveis aos programas escritos nessas linguagens; Depois desse processamento o servidor retorna a requisição do cliente.

No entanto, não é sempre que teremos disponível um servidor HTTP. Há situações em que necessitamos fazer algo sem a necessidade ou possibilidade do uso PHP(ou qualquer outra linguagem que rode no lado do servidor).

Para resolver um probleminha que tive na passagem de parâmetros entre páginas de um aplicativo DHTML que estou desenvolvendo, tive que bolar uma alternativa. Foi então que criei um código em Javascript que simulam o método GET.

A idéia é simples: o script pega a url completa; interpreta ela; separa a parte do endereço e a parte dos parâmetros; cria um dicionário que consiste numa lista apelidada e indexada dos parâmetros; no final, os parâmetros viram variáveis de Javascript residentes na memória; essas ficam disponíveis enquanto a página estiver sendo visitada.

O arquivo que criei é um script que interpreta parâmetros passados juntos com a URL e os transforma em variáveis de Javascript. Ele pode ser usado em situações simples que não exigem o uso de PHP ou CGI. Pode substituir até certo ponto o uso de $GET e $POST no PHP em alguns casos.

Se você se interessar pelo script, eu deixei uma cópia no site Pastebin. Sinta-se a vontade para sugerir melhorias caso encontre algum erro no código. Para ver o código clique AQUI.

Para baixar o arquivo basta clicar neste link: JS_GET. Não esqueça de renomeá-lo para "js_get.js" quando baixar.

Como usar:

Basta incluir este código na página que irá processar os parâmetros. Para isso, inclua este arquivo usando a tag:

<script language="javascript" type="text/javascript" src="js_get.js"/>

Para obter os parâmetros, basta chamar a função "GET" assim:

var variavel = js_get.get("nome_parametro");

Pode-se ainda obter os parâmetros informando índices (que são números de sequência):

var variavel = js_get.index(indice_parametro);

Ou, caso seja útil, pode-se também obter um array contendo todos os valores passados ordenadamente (mas sem os nomes dos parâmetos):

var array_variaveis = js_get.values();

O código está aberto segundo a licença GPL. Você pode, portanto, contribuir da sua maneira para que ele seja melhorado. Fique a vontade para modificá-lo. Só pesso pra se lembrar de quem o concebeu.

Obrigado por ler até aqui.

2 comentários:

  1. Cara do Céu . .seu arquivo me ajudou MUITO!!
    Eu ia ter que fazer todo o código de GET na mão, agora só tive o trabalho de apontar para o JS e já era!!

    Valeu!!

    ResponderExcluir
  2. Olá. Gostei da ideia. Mas sou novo nisso. Como eu uso ele literalmente?
    teria como deixar um exemplo:

    ResponderExcluir