Básicamente, soy un principiante en el desarrollo web. He diseñado un sitio web básico de informes meteorológicos usando Openweather api. He recibido datos de api, pero el problema principal es que no puedo pasar los datos de api a mi página html e incluso he usado DOM para enviar la información pero no funcionó.
''' const express = require("express"); const bodyParser = require("body-parser"); const http = require("http"); var app = express(); app.use(bodyParser.urlencoded({extended:true})); app.use(express.static("./public")); app.get("/",(request,response)=>{ response.sendFile('/Users/vivek/Desktop/web-development/weather- app/public'); }); app.get("/weatherdata",(request,response)=>{ response.sendfile('/Users/vivek/Desktop/web-development/weather- app/public/weatherData.html'); }) app.post("/weatherdata",(req,res)=>{ res.sendfile('./public/weatherData.html'); var cityname = req.body.cityName; var apiid = "b75642448cbd207923a63b89cf48768d"; var url = "http://api.openweathermap.org/data/2.5/weather? q="+cityname+"&appid="+apiid; http.get(url,(res=>{ console.log(res.statusCode) res.on("data",(data)=>{ data = JSON.parse(data); temp = data.main.temp; console.log(temp); document.querySelector(".main-degree").innerHTML=temp; }) })) }) app.listen(7000,()=>{ console.log("sever is running on port 7000"); });Ampliando el comentario, puede usar un motor de plantillas como ejs. Como sugiere el nombre, es una plantilla que renderiza con la respuesta de la API de Openweather.
Proceso básico:
Aquí está la página de inicio de EJS: https://ejs.co/#install
Otra recomendación: