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

182
Vistas
¿Cómo pasar una cadena con un apóstrofe como encabezado a un servidor de nodo con una base de datos PostgreSQL?

Voy a simplificar esta pregunta aquí lo mejor que pueda:

Primero en el lado del cliente:

 let textToSend = "Shouldn't it work"; console.log(textToSend) // Logs: Shouldn't it work (with apostrophe) let response = await fetch("http://localhost:4000/somewhere",{ method:"POST", headers:{ "message" : textToSend } })

Luego en el servidor:

 exports.function = function(req,res){ let messageText = req.get("message"); console.log(messageText); //Logs: Shouldn }

Entonces, mi problema es que la cadena se corta a "Shouldn" ya que hay un apóstrofo después de la n. Intenté agregar una barra invertida antes del apóstrofe, pero sigue igual 🤔 ¿Alguna idea? También probé una doble barra invertida.

Además, en el servidor PostgreSQL al que está conectado, el tipo de datos es varchar.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Investigando un poco más sobre la codificación de URI, descubrí que la decodificación no funciona en el nodo por alguna razón 🤔. Sin embargo, al obtener los resultados, el texto codificado se puede decodificar en el lado del cliente cuando sea necesario, por ejemplo:

Lado del cliente:

 let textToSend = encodeURI("Shouldn't it work"); console.log(textToSend); //Logs: Shouldn%E2%80%99t%20it%20work let response = await fetch("http://localhost:4000/somewhere",{ method:"POST", headers:{ //lets send this message to the server "message" : textToSend } })

Lado del servidor:

 let message = req.get("message"); console.log(decodeURI(message)); //Logs: Shouldn%E2%80%99t%20it%20work //Notice how decoding doesn't work here for some reason

De vuelta en el lado del cliente:

 let response = await fetch("http://localhost:4000/getMessages",{ method:"GET", }) if(response.ok){ try{ let json = await response.json(); console.log(decodeURI(json)); //Logs: Shouldn't it work }catch(e){ console.log(e) } }

En resumen, codificarlo al enviarlo, decodificarlo al recibirlo, no decodificarlo en el lado del servidor.

about 4 years ago · Juan Pablo Isaza Denunciar
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