尝试将数据从表单传递到页面但未定义“”

时间:2017-02-17 08:48:27

标签: javascript node.js mongodb express

我正在尝试构建一个节点应用。我已正确构建我的路由,并且所有依赖项都已正确安装但在尝试加载(“/)”主页时“我得到”newPost“未定义。(”/ new)页面工作正常,这是我的代码好像。我也正确地链接到Schema路线。先感谢您!

  var express= require("express");
var app = express();
var mongoose = require("mongoose");
var bodyParser = require("body-parser");
var Post = require("./models/post");



app.set("view engine","ejs")
app.use(bodyParser.urlencoded({extended: true}));
mongoose.connect("mongodb://localhost/blog")

//=================================================
app.get("/",function(req,res){
    Post.find({},function(err,foundPost){
        if(err){
            console.log(err)
        }else{
        res.render("homepage",{post:newPost});  <--- this is the problem
        }
    })

});

app.get("/new",function(req,res){
    res.render("post/new")
});


app.post("/",function(req,res){
    var title= req.body.title;
    var image= req.body.image;
    var description = req.body.description;
    var fullPost ={title:title,image:image,description:description};
    Post.create(fullPost,function(err,newPost){
        if(err){
            console.log(err)
        }else{
            res.redirect("/")
        }
    })

})

1 个答案:

答案 0 :(得分:1)

例外是告诉你确切的问题

  

我得到&#34; newPost&#34;未定义

newPost在这里不存在......

app.get("/",function(req,res){
    Post.find({},function(err,foundPost){
        if(err){
            console.log(err)
        }else{
        res.render("homepage",{post:newPost}); 
        }
    })

});

您的意思是使用foundPost吗?