Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SPA w/Node.JS和Express and.ejs_Node.js_Express_Ejs - Fatal编程技术网

SPA w/Node.JS和Express and.ejs

SPA w/Node.JS和Express and.ejs,node.js,express,ejs,Node.js,Express,Ejs,如何在单页应用程序上显示解析的数据。例如,我能够console.log从API生成的引号,但我不知道如何在单个页面上发布它们 Index.ejs: <% include ./partials/header %> <div class=container> <h1>Free2BGeek</h1> <h3>This is your joke for the day!</h3> <hr>

如何在单页应用程序上显示解析的数据。例如,我能够console.log从API生成的引号,但我不知道如何在单个页面上发布它们

Index.ejs:

<% include ./partials/header %> 
<div class=container>
    <h1>Free2BGeek</h1>
    <h3>This is your joke for the day!</h3>
    <hr>
    <p>
        "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse sit amet turpis ex. Vivamus aliquet ipsum tortor, at rhoncus ligula efficitur condimentum. Sed pretium arcu quis ex fringilla, et consectetur odio sodales."
    </p>
</div>
<% include ./partials/footer %> 
我希望能够用这个笑话取代Lorem Ipsum文本

我目前的结果如下:

我试着把

<p>
   <%= options %>
</p>

您必须像这样将要发送的数据对象传递到前端

app.get("/", function(req, res){
    res.render("index",{data:'your data like this in here'}); // change like this and acess it in front end the way you have done it 
});

let options = {
    url: 'https://geek-jokes.sameerkumar.website/api',
    method: 'GET'
};
request(options, (err, response, body) => {
    if(!err && response.statusCode == 200)
        var parsedData = JSON.parse(body);
        console.log(parsedData);
});

您需要首先调用api,然后将结果传递给view
res.render(“index”{joke:parsedData})(假定parsedData是笑话字符串)然后在视图中访问笑话,RTM:非常感谢。我在HTM中创建了
,将let和请求放在get请求中,并编写了
res.render(“index”,{body:parsedData})。老实说,我自己也在猜测……如果你对这个答案感到满意,请把它选为正确答案。非常感谢你的帮助。
const express        = require("express"),
      app            = express(),
      request        = require("request"),
      bodyParser     = require("body-parser"),
      mongoose       = require("mongoose");

var url = process.env.DATABASEURL || "mongodb://localhost:27017/geek-jokes";
mongoose.connect(url);

mongoose.set('useFindAndModify', false);

app.set("view engine", "ejs");

app.use(express.static("public"));

app.use(bodyParser.urlencoded({extended: true}));

app.get("/", function(req, res){
        let options = {
            url: 'https://geek-jokes.sameerkumar.website/api',
            method: 'GET'
    };

    request(options, (err, response, body) => {
        if(!err && response.statusCode == 200)
            var parsedData = JSON.parse(body);
            console.log(parsedData);
            res.render("index", {body: parsedData });
    });
});

app.get("*", function(req, res){
    res.send("Error - I'm sorry, the page you tried to get to either does not exist or has been removed.");
});

app.listen(process.env.PORT, process.env.IP, function(){
    console.log("Geeks are ready!");
});
app.get("/", function(req, res){
    res.render("index",{data:'your data like this in here'}); // change like this and acess it in front end the way you have done it 
});

let options = {
    url: 'https://geek-jokes.sameerkumar.website/api',
    method: 'GET'
};
request(options, (err, response, body) => {
    if(!err && response.statusCode == 200)
        var parsedData = JSON.parse(body);
        console.log(parsedData);
});