代码之家  ›  专栏  ›  技术社区  ›  AltBrian

ejs模板中未显示变量

  •  0
  • AltBrian  · 技术社区  · 6 年前

    当我按提交表单时,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,我打印到控制台,它不想显示在模板上。

    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}`)
        })
    })
    

    0 回复  |  直到 6 年前
    推荐文章