Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Código fonte de exemplo do vídeo "Como Obter e Processar Parâmetros de Query String com JavaScript".
<html>
<head>
<title>Como Obter os Parâmetros da Query String</title>
<script type="text/javascript" src="queryStrings.js"></script>
</head>
<body>
<h1>Trabalhando com Query Strings em JavaScript</h1>
<p id="boasVindas"></p>
<script type="text/javascript">
// www.site.com.br/algumaoutrapagina?usuario=Fulano
var parametroUsuario = obtenhaParametroDaQueryStringPorChave('usuario');
var mensagemDeBoasVindas = '';
if (parametroUsuario != null) {
boasVindas = "Olá, <b>" + parametroUsuario.valor + "</b>! Seja bem vindo ao nosso site.";
}
else {
boasVindas = "Olá, visitante. Seja bem vindo ao nosso site.";
}
document.getElementById('boasVindas').innerHTML = boasVindas;
</script>
</body>
</html>
function obtenhaParametosDaQueryString() {
// Vetor que conterá a resposta do nosso método com os parâmetros da query string.
var parametrosDaQueryString = [];
// 'chave=valor&chave=valor&chave=valor'
var queryString = window.location.search.replace("?", "");
// ['chave=valor', 'chave=valor', 'chave=valor']
var parametrosJuntoComValores = queryString.split("&");
for (var i = 0; i < parametrosJuntoComValores.length; i++) {
var parametroComValor = parametrosJuntoComValores[i];
// ['chave', 'valor']
var parametroSeparadoDoValor = parametroComValor.split('=');
/*
[
{chave: 'chave', valor: 'valor'},
{chave: 'chave', valor: 'valor'},
{chave: 'chave', valor: 'valor'}
]
*/
parametrosDaQueryString.push({
chave: parametroSeparadoDoValor[0],
valor: parametroSeparadoDoValor[1]
});
}
return parametrosDaQueryString;
}
function obtenhaParametroDaQueryStringPorChave(chave) {
var parametrosDaQueryString = obtenhaParametosDaQueryString();
return parametrosDaQueryString.find(function(parametro) {
return parametro.chave == chave;
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.