Javascript TypeError:无法读取属性';posted';未定义的

Javascript TypeError:无法读取属性';posted';未定义的,javascript,node.js,express,Javascript,Node.js,Express,我对编程相当陌生,我想制作一个新闻/论坛站点,用于实践,其中一个路径是/post/postd/postTitle以查看单个帖子。当我尝试使用only:posted时,它起了作用,但现在我添加了:postTitle,每当我转到URL时,它都会显示: “TypeError:无法读取未定义的属性'postID'。” 我的app.js: var express = require("express") app = express() bodyParser = require("body-

我对编程相当陌生,我想制作一个新闻/论坛站点,用于实践,其中一个路径是/post/postd/postTitle以查看单个帖子。当我尝试使用only:posted时,它起了作用,但现在我添加了:postTitle,每当我转到URL时,它都会显示: “TypeError:无法读取未定义的属性'postID'。”

我的app.js:

var express = require("express")
    app = express()
    bodyParser = require("body-parser");

app.use(express.static("public"));
app.use(bodyParser.urlencoded({extended: false}));
app.set("view engine", "ejs");

// ROUTES

// Root
app.get("/", function(req, res){
  res.render("index");
});

// Login
app.get("/login", function(req, res){
  res.render("login");
});

// Register
app.get("/register", function(req, res){
  res.render("register");
});

// Home
app.get("/home", function(req, res){
  res.render("home");
});

// Posts
app.get("/posts", function(req, res){
  res.render("posts");
});

// Post
app.get("/post/:postID/:postTitle", function(req, res){
var postID = req.params.postID;
var postTitle = req.params.postTitle;

res.render("post", {postID: postID},{postTitle: postTitle});
});



// SERVER
app.listen(4000, function(error){
  if(error){
    console.log("OH NOES, SERVER CAN'T START!");
    console.log(error);
  } else {
    console.log("Server has started.");
  }
});
错误:

TypeError: Cannot read property 'postID' of undefined
    at C:\Users\jayth\Desktop\Centurion\Projects\August 2017\Wabbit.gg - #PWGG08102017\Coding\app.js:38:26
    at Layer.handle [as handle_request] (C:\Users\jayth\Desktop\Centurion\Projects\August 2017\Wabbit.gg - #PWGG08102017\Coding\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\Users\jayth\Desktop\Centurion\Projects\August 2017\Wabbit.gg - #PWGG08102017\Coding\node_modules\express\lib\router\route.js:137:13)
    at Route.dispatch (C:\Users\jayth\Desktop\Centurion\Projects\August 2017\Wabbit.gg - #PWGG08102017\Coding\node_modules\express\lib\router\route.js:112:3)
    at Layer.handle [as handle_request] (C:\Users\jayth\Desktop\Centurion\Projects\August 2017\Wabbit.gg - #PWGG08102017\Coding\node_modules\express\lib\router\layer.js:95:5)
    at C:\Users\jayth\Desktop\Centurion\Projects\August 2017\Wabbit.gg - #PWGG08102017\Coding\node_modules\express\lib\router\index.js:281:22
    at param (C:\Users\jayth\Desktop\Centurion\Projects\August 2017\Wabbit.gg - #PWGG08102017\Coding\node_modules\express\lib\router\index.js:354:14)
    at param (C:\Users\jayth\Desktop\Centurion\Projects\August 2017\Wabbit.gg - #PWGG08102017\Coding\node_modules\express\lib\router\index.js:365:14)
    at Function.process_params (C:\Users\jayth\Desktop\Centurion\Projects\August 2017\Wabbit.gg - #PWGG08102017\Coding\node_modules\express\lib\router\index.js:410:3)
    at next (C:\Users\jayth\Desktop\Centurion\Projects\August 2017\Wabbit.gg - #PWGG08102017\Coding\node_modules\express\lib\router\index.js:275:10)

您可以使用res.send()而不是res.render()。并使用它将postID和postTitle放在一起。下面是代码
res.send(“postID:+postID+”+“+”postTitle:+postTitle)

抱歉,这是我尝试测试它之前的情况。//Post-app.get(“/Post/:postID/:postTitle”,函数(error,req,res){var-postID=req.params.postID;var-postTitle=req.params.postTitle;if(error){console.log(“找不到页面”);}else{console.log(“找到页面”);}res render(“Post”,{postID:postTitle},{postTitle};});我只是编辑了这篇文章。你在为路线输入什么?或者,在您尝试路由之前,代码就失败了?这并不能解决OP的问题。OP正在调用
render
函数,因为他正在呈现包含帖子细节的模板。