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

518
Views
Pasar objeto a función javascript desde ejs

Estoy tratando de adjuntar un evento de clic de mi archivo ejs, pero noté que cuando mis datos provenientes de mi base de datos tienen una "línea nueva", aparece un error que dice: Unexpected token in JSON at position 253

aplicación.js

 app.get('/', async (req, res) => { return res.render('page', { data: dataArray }) });

página.ejs:

 <% for(let t of data) { %> <tr class="tr-<%= t.id %>"> <td><i class="fas fa-pencil-alt" onclick="editT('<%= JSON.stringify(t) %>')"></i> </td> <td><%= t.name %></td> <td><%= t.description %></td> </tr> <% } %>

guion

 function editT(t) { t = JSON.parse(t); console.log(t) }

Cuando una descripción tiene una "nueva línea" y uso JSON.stringif(t) se rompe:

 let t = '{"id":1,"name":"Lorem","description":"Lorem Ipsum is simply dummy text of the printing and typesetting industry! Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum is simply dummy text of the printing and typesetting industry. ","created_at":"2022-04-18T22:19:00.153Z"}'; console.log(JSON.parse(treatment));

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

hay dos formas de hacer esto sin error

el primero usando <%- %> de esta manera escribirá la cadena sin escape

como esto :

 <td><i class="fas fa-pencil-alt" onclick="editT('<%- JSON.stringify(t)%>')"></i></td>

el segundo estaría usando codificar

 <td><i class="fas fa-pencil-alt" onclick="editT('<%= encodeURIComponent(JSON.stringify(t))%>')"></i></td>

el segundo también requiere que hagas

 function editT(t) { t = JSON.parse( decodeURIComponent(t)); console.log(t) }
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!