简体   繁体   English

类型错误:无法读取未定义的属性“用户名”--

[英]TypeError: Cannot read property 'username' of undefined--

 var express = require("express"); var app = express(); var morgan = require("morgan"); var mongoose = require("mongoose"); port = 8000; var User = require("./app/models/user"); mongoose.connect("mongodb://localhost:27017/tutorial", function (err) { if (err) { console.log("Disconnected: " + err); } else { console.log("connected"); } }); app.post("/users", function (req, res) { var user = new User(); user.username = req.body.username; user.email = req.body.email; user.password = req.body.password; user.save(); res.send("user created"); }); app.use(morgan("dev")); app.listen(port, function () { console.log("You are listen on port " + port); });
TypeError: Cannot read property 'username' of undefined at D:\\MEAN\\server.js:16:28 at Layer.handle [as handle_request] (D:\\MEAN\\node_modules\\express\\lib\\router\\layer.js:95:5) at next (D:\\MEAN\\node_modules\\express\\lib\\router\\route.js:137:13) at Route.dispatch (D:\\MEAN\\node_modules\\express\\lib\\router\\route.js:112:3) at Layer.handle [as handle_request] (D:\\MEAN\\node_modules\\express\\lib\\router\\layer.js:95:5) at D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:281:22 at Function.process_params (D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:335:12) at next (D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:275:10) at expressInit (D:\\MEAN\\node_modules\\express\\lib\\middleware\\init.js:40:5) at Layer.handle [as handle_request] (D:\\MEAN\\node_modules\\express\\lib\\router\\layer.js:95:5) at trim_prefix (D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:317:13) at D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:284:7 at Function.process_params (D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:335:12) 类型错误:无法读取 D:\\MEAN\\server.js:16:28 at Layer.handle [as handle_request] (D:\\MEAN\\node_modules\\express\\lib\\router\\layer.js:95) 处未定义的属性“用户名” :5) 在下一个 (D:\\MEAN\\node_modules\\express\\lib\\router\\route.js:137:13) 在 Route.dispatch (D:\\MEAN\\node_modules\\express\\lib\\router\\route.js:112 :3) 在 Layer.handle [as handle_request] (D:\\MEAN\\node_modules\\express\\lib\\router\\layer.js:95:5) 在 D:\\MEAN\\node_modules\\express\\lib\\router\\index.js :281:22 在 Function.process_params (D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:335:12) 在下一个 (D:\\MEAN\\node_modules\\express\\lib\\router\\index.js: 275:10) 在 expressInit (D:\\MEAN\\node_modules\\express\\lib\\middleware\\init.js:40:5) 在 Layer.handle [as handle_request] (D:\\MEAN\\node_modules\\express\\lib\\router\\ layer.js:95:5) at trim_prefix (D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:317:13) 在 D:\\MEAN\\node_modules\\express\\lib\\router\\index.js: 284:7 在 Function.process_params (D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:335:12) at next (D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:275:10) at query (D:\\MEAN\\node_modules\\express\\lib\\middleware\\query.js:45:5) at Layer.handle [as handle_request] (D:\\MEAN\\node_modules\\express\\lib\\router\\layer.js:95:5) 在下一个 (D:\\MEAN\\node_modules\\express\\lib\\router\\index.js:275:10) 在查询 (D:\\MEAN\\node_modules\\express\\lib\\middleware\\query.js:45:5) 在层.handle [as handle_request] (D:\\MEAN\\node_modules\\express\\lib\\router\\layer.js:95:5)

Include a code to grab the request body using express method express.json which uses body parser module behind the scenes Eg包含一个代码来使用快速方法 express.json 获取请求正文,该方法在幕后使用正文解析器模块 例如

This should work这应该工作


app.use(express.json()) app.use(express.json())

If your post request comes as json as I presume it does you are going to need to somehow parse the request's body.如果您的帖子请求像我认为的那样以 json 形式出现,那么您将需要以某种方式解析请求的正文。 You can do that by requiring "body-parser" and using it's json method like so:您可以通过要求“body-parser”并使用它的 json 方法来做到这一点,如下所示:

const bodyParser = require('body-parser');
const app = require('express')();
app.use(bodyParser.json());

What we're saying with app.use(bodyParser.json()) is to use that body parser for every single route.我们对app.use(bodyParser.json())是为每条路线使用该正文解析器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 “ typeError:无法读取未定义的属性“用户名”。” - “typeError: Cannot read property 'username' of undefined.” TypeError:无法读取未定义的属性“用户名”? - TypeError: Cannot read property 'username' of undefined? TypeError:无法读取password.js中未定义的属性“用户名” - TypeError: Cannot read property 'username' of undefined in passportjs 未捕获的类型错误:无法读取未定义的属性“用户名” - Uncaught TypeError: Cannot read property 'username' of undefined 类型错误:无法从表单提交中读取未定义的属性“用户名” - TypeError: Cannot read property 'username' of undefined from Form Submit 为什么会这样? : TypeError: 无法读取 REACT 中未定义的属性“用户名” - why is this happening? : TypeError: Cannot read property 'username' of undefined in REACT TypeError:无法读取Node JS中未定义的属性“用户名” - TypeError: Cannot read property 'username' of undefined in Node JS (Nodejs, expressjs, mongodb) UnhandledPromiseRejectionWarning: TypeError: 无法读取未定义的属性“用户名” - (Nodejs, expressjs, mongodb) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'username' of undefined 未处理的承诺拒绝:TypeError:无法读取未定义的属性“用户名” - Unhandled promise rejection: TypeError: Cannot read property 'username' of undefined 错误类型错误:无法读取未定义 Ionic/Firestore 的属性“用户名” - ERROR TypeError: Cannot read property 'username' of undefined Ionic/Firestore
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM