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

195
Views
Obtenga datos de Api y reemplace el Html con datos de Api Nodejs

Estoy obteniendo datos de la API usando solicitudes de paquetes Npm en el nodo js

y estoy tratando de pasar datos de API a HTML, pero no funciona cuando hago res.write(mainData) No obtengo nada, debería obtener datos HTML allí

 const fs = require("fs"); const http = require("http"); let requests = require("requests"); /* ------------------------------- */ const mainFile = fs.readFileSync("index.html", "utf-8"); const replaceVal = (oldval, newval) => { let temp = oldval.replace("City,Country", newval.main.temp); return temp; }; const server = http.createServer((req, res) => { if (req.url == "/") { requests( "https://api.openweathermap.org/data/2.5/weather?q=wah&units=metric&appid=8b949ed0b4efff029e789ed12aab16a0" ) .on("data", (cdata) => { const objData = JSON.parse(cdata); const arrData = [objData]; const mainData = arrData .map((val) => { replaceVal(mainFile, val); }) .join(""); res.write(mainData); console.log(mainData); }) .on("end", (err) => { if (err) return console.log(err); res.end(); }); } }); server.listen(3000, "127.0.0.1", () => { console.log("Listining"); });
 * { margin: 0; padding: 0; box-sizing: border-box; } body { height: 100vh; display: flex; justify-content: center; align-items: center; } #main { height: 500px; width: 300px; background-color: #a0b7dc; box-shadow: 1px 1px 6px 2px rgb(221, 221, 221); border-radius: 10px; } #top { width: 100%; height: 50%; display: grid; place-items: center ; } #bottom { width: 100%; height: 50%; background-color: #c5d0e2; border-top-left-radius: 10%; border-top-right-radius: 10%; display: grid; place-items: center; }
 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" href="style.css" /> <title>Document</title> </head> <body> <div id="main"> <div id="top"> <h1>icon</h1> </div> <div id="bottom"> <h1>City,Country</h1> <h1>Tempracture</h1> </div> </div> </body> </html>

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

0

Puede haber otros problemas, pero puedo ver que te falta una return :

 const mainData = arrData .map((val) => { replaceVal(mainFile, val); })

debiera ser

 const mainData = arrData .map((val) => { return replaceVal(mainFile, val); })

o solo

 const mainData = arrData.map(val => replaceVal(mainFile, val))

Consulte Array.prototype.map .

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!