Как получить и передать переменную в Node.js - PullRequest
1 голос
/ 25 мая 2020

Я хотел бы знать, как передавать переменные в Node.js

Когда я пытаюсь получить и передать некоторые переменные в ejs, произошла ошибка, подобная приведенной ниже.

    27|                 <div id="content">
 >> 29|                 <%=json%>
    30|                 </div>
json is not defined

Моя текущая работа приведена ниже. Есть какие-нибудь проблемы? Если у кого-то есть мнение, дайте мне знать. Спасибо

const fetch = require("node-fetch");
const express = require("express");
const app = express();

const API_KEY="https://opentdb.com/api.php?amount=1&type=multiple";


app.get('/', (req, res) => {
  fetch(API_KEY)
      .then(response => response.json())
      .then(json => {
       console.log(json);    
       res.render("quiz.ejs", json);
    
      });
});

app.listen(8080,()=>{
    console.log('server is running!');
});
              <div id="content">
                  <%= json %>
                </div>

Ответы [ 2 ]

1 голос
/ 25 мая 2020

Вот как вы можете это сделать

app.get('/', (req, res) => {
   fetch(API_KEY)
      .then(response => response.json())
      .then(json => {
         console.log(json);
         res.render("quiz.ejs", {
            json: json
         });
      });
});

Итак, чтобы напечатать объект в template (ejs), нам сначала нужно преобразовать его в строку:

<%= JSON.stringify(json)%> 
0 голосов
/ 25 мая 2020

В разделе рендеринга вашего кода. Попробуйте отправить второй аргумент внутри фигурных скобок, например,

res.render('quiz.ejs', {json});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...