quinta-feira, 28 de janeiro de 2021

Javascript: Problemas com Requisição de URL

 Alguns problemas comuns quando você faz uma requisição de uma URL são alguns caracteres especiais, nos quais geralmente dá dor de cabeça. Entretanto, existe caracteres mais especiais no meu caso. Precisava fazer uma requisição e passar por get uma string que continha um caractere "+". O problema é que por padrão URI, um sinal de "+" é usado para representar um espaço e quando chegava no back-end da aplicação, o sinal simplesmente sumia.

Aí que entra uma questão. Para tratar uma URI, no Javascript temos o comando encodeURI(), entretanto, ele não codifica os caracteres que são usadas por padrão (por exemplo, os caracteres : e / do "http://"), e o nosso "+" está incluso nisso. 

Para isso, a função correta para ser usada é "encodeURIComponent()", onde você usará na string que vai ser enviado por get.  Exemplo de uso:

encodeURIComponent("1+3=4")

o retorno da função será:

1%2B3%3D4


Nenhum comentário:

Postar um comentário