Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
Angular: ¿puede un parámetro de consulta contener un carácter de coma codificado "," en la navegación?

Digamos que tenemos el siguiente caso de uso:

  • Tenemos algunos filtros en la página. En la selección del filtro, debemos agregar el valor del filtro a la URL como un parámetro de consulta (navegando a la misma página usando router.navigate o router.navigateByUrl
  • Valor de ejemplo de un filtro que rompe la funcionalidad: "Value one, comma separated"
  • un filtro también puede contener varios valores separados por comas, por ejemplo, param1=one,two

¿Hay alguna manera de codificar bien la coma de un solo valor, pero manteniendo las comas que separan los múltiples valores? Entonces, el objetivo sería navegar a algo como: param1=value1%2Ccomma%20separated,value2

Llamando a esto:

 this.router .navigate([], { relativeTo: this.route, queryParams: { partner: 'Partner one, comma separated' }, replaceUrl: true, })

realiza la navegación a la siguiente URL: blah.com?partner=Partner%20one,%20comma%20separated

Y llamando a esto:

 this.router .navigate([], { relativeTo: this.route, queryParams: { partner: 'Partner one%2C comma separated,Partner two' }, replaceUrl: true, })

realiza la navegación a la siguiente URL: blah.com?partner=Partner%20one%252C%20comma%20separated,Partner%20two

Mi objetivo es navegar a algo como esto: <current URL>?partner=Partner%20one%2C%20comma%20separated,Partner%20two (sin %25 de codificación doble)

por lo tanto, hay una manera para que nuestro backend sepa qué coma está separando los valores y cuál es parte de un solo valor.

También esto:

 this.router.navigateByUrl(`/my-page?partner=Partner%20one%2Ccomma%20separated`);

navega a blah.com/my-page?partner=Partner%20one,comma%20separated (la coma se decodificó ).

Probé una combinación de decodeURI, encodeURIComponent etc. antes de pasarlo a router.navigate o router.navigateByUrl , pero nada parece funcionar.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda