Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

179
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!