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