Javascript 从数组回调数据时获取类型错误

Javascript 从数组回调数据时获取类型错误,javascript,node.js,express,Javascript,Node.js,Express,我试图从嵌套数组中获取数据,但最终得到了错误类型error cannot read属性“value”of undefined,我不知道是否以错误的方式回调,但最终在控制台中得到了输出以及错误 const express = require('express'); const app = express(); var bodyParser = require('body-parser'); app.set("view engine", "ejs"); ap

我试图从嵌套数组中获取数据,但最终得到了错误类型error cannot read属性“value”of undefined,我不知道是否以错误的方式回调,但最终在控制台中得到了输出以及错误

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

app.set("view engine", "ejs");
app.use(bodyParser.urlencoded({ extended: true }));

var entries = [{name:"", address:"", month:"", year:""}];

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

app.get("/addentry", function(req, res){
    res.render("add");
});

app.post("/add", function(req, res){
    var input = req.body;
    var newEntry = {name: input.name, address: input.address, month: input.month, year: input.year};
    entries.push(newEntry);
    res.redirect("/addentry");

});

app.post("/search", function(req, res){
    var search = req.body;
    for(var i = 0; i <= entries.length; i++){
            console.log(entries[i].name);
        }
        res.redirect("/addentry");
    
});

app.listen(3000, function(){
    console.log("Server Started Successfully");
});
您需要添加app.use(bodyParser.json());在这一行之后=>app.use(bodyParser.urlencoded({extended:true}))

您需要添加app.use(bodyParser.json());在这一行之后=>app.use(bodyParser.urlencoded({extended:true}))

TypeError: Cannot read property 'name' of undefined
    at C:\AllNodeProjects\globalledger\app.js:29:36
    at Layer.handle [as handle_request] (C:\AllNodeProjects\globalledger\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\AllNodeProjects\globalledger\node_modules\express\lib\router\route.js:137:13)
    at Route.dispatch (C:\AllNodeProjects\globalledger\node_modules\express\lib\router\route.js:112:3)
    at Layer.handle [as handle_request] (C:\AllNodeProjects\globalledger\node_modules\express\lib\router\layer.js:95:5)
    at C:\AllNodeProjects\globalledger\node_modules\express\lib\router\index.js:281:22
    at Function.process_params (C:\AllNodeProjects\globalledger\node_modules\express\lib\router\index.js:335:12)
    at next (C:\AllNodeProjects\globalledger\node_modules\express\lib\router\index.js:275:10)
    at C:\AllNodeProjects\globalledger\node_modules\body-parser\lib\read.js:130:5
    at invokeCallback (C:\AllNodeProjects\globalledger\node_modules\raw-body\index.js:224:16)