переменная не отображается в шаблоне ejs - PullRequest
0 голосов
/ 28 февраля 2019

переменная не отображается в шаблоне ejs, когда я нажимаю отправить для формы.Ниже приведен код для шаблона.

<%- include("./partials/header"); -%>
<h1>Formula One Weather App</h1>
<p><%= startingContent %></p>
<form action="/" method="post">
    <select name="City" id="">
        <option value="Melbourne">Austrialian</option>
        <option value="Manama">Bahrain</option>

    </select>
    <button type="submit" name="button">Find Weather</button>
</form>
<p><%= main %></p>

Код обращается к API погоды, и я печатаю в консоль, которую он не хочет отображать в шаблоне.Код для доступа к API приведен ниже.

const homeStartingContent = "This is a really cool site about formula 1 weather"

 const app = express();
 app.set('view engine', 'ejs');
 app.use(express.static("public"));
let currentweather = ""

app.use(bodyparser.urlencoded({extended: true}))

app.get("/", function(req, res){

app.post("/", function(req, res){
    // console.log(req.body.City)

     var city = req.body.City;
     var APP_ID = "xxxxxxxxxxxxxxxxxxxxx"

    // var options = {

    // }
    var url = `http://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${APP_ID}`
    request(url, function(err, response, body){
        //console.log(body);

        var data = JSON.parse(body)
        var main = data.weather[0].main;
        //var temp = data.main.temp
        console.log(main)
        //res.render('home', {currentweather: main});
        // let cityWeather = res.write(`<p>The current weather in ${city} 
        // is ${main}`)
    })
})

В основном я пытаюсь отобразить погоду для выбранного города.Не уверен, что я поступил неправильно, любая помощь будет признательна.

...