Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:无法读取属性';用户名';未定义的_Javascript_Mongodb_Express_Mongoose_Database - Fatal编程技术网

Javascript TypeError:无法读取属性';用户名';未定义的

Javascript TypeError:无法读取属性';用户名';未定义的,javascript,mongodb,express,mongoose,database,Javascript,Mongodb,Express,Mongoose,Database,我正在尝试向expressjs/mongoose注册一个用户,但我收到以下错误: TypeError: Cannot read property 'user_first_name' of undefined at C:\Quiz webPolitica\server.js:20:24 at Layer.handle [as handle_request] (C:\Quiz webPolitica\node_modules\express\lib\router\layer.js:95:5) at

我正在尝试向expressjs/mongoose注册一个用户,但我收到以下错误:

TypeError: Cannot read property 'user_first_name' of undefined
at C:\Quiz webPolitica\server.js:20:24
at Layer.handle [as handle_request] (C:\Quiz webPolitica\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Quiz webPolitica\node_modules\express\lib\router\route.js:131:13)
at Route.dispatch (C:\Quiz webPolitica\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Quiz webPolitica\node_modules\express\lib\router\layer.js:95:5)
at C:\Quiz webPolitica\node_modules\express\lib\router\index.js:277:22
at Function.process_params (C:\Quiz webPolitica\node_modules\express\lib\router\index.js:330:12)
at next (C:\Quiz webPolitica\node_modules\express\lib\router\index.js:271:10)
at serveStatic (C:\Quiz webPolitica\node_modules\express\node_modules\serve-static\index.js:75:16)
at Layer.handle [as handle_request] (C:\Quiz webPolitica\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\Quiz webPolitica\node_modules\express\lib\router\index.js:312:13)
at C:\Quiz webPolitica\node_modules\express\lib\router\index.js:280:7
at Function.process_params (C:\Quiz webPolitica\node_modules\express\lib\router\index.js:330:12)
at next (C:\Quiz webPolitica\node_modules\express\lib\router\index.js:271:10)
at expressInit (C:\Quiz webPolitica\node_modules\express\lib\middleware\init.js:33:5)
at Layer.handle [as handle_request] (C:\Quiz webPolitica\node_modules\express\lib\router\layer.js:95:5) 
我已经试着调试了好几个小时,并查找了其他人的问题,但我没有任何进展。任何帮助都是非常感激的。请参阅下面我的代码:

server.js

var express = require('express');
var app = express();

app.use(express.static(__dirname + '/public'));

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/iPolitico');

var Register_User_Schema = new mongoose.Schema({
    Firstname: { type: String, required: true },
    Lastname:  { type: String, required: true },
    Email:     { type: String, required: true, index: { unique: true } },
    Password:  { type: String, required: true }
}, {collection:"user"});

var Register_User = mongoose.model("Register_User", Register_User_Schema);

app.post('/register', function(req,res){
  new Register_User({
    Firstname: req.body.user_first_name,
    Lastname : req.body.user_last_name,
    Email    : req.body.user_email,
    Password : req.body.user_password
  }).save(function(err, doc){
    if(err){
      res.json;
    }else{
      app.use(express.static(__dirname + '/user_profile.html'));
    }
  })
});

app.get('/', function(req, res){
  //res.send('hello world');
  Register_User.find(function (err, data){
    res.json(data);
  });
});

app.listen(3000);
index.html

<form role="form" action="/register" method="POST" class="registration_form">  <!--action="javascript:;" onsubmit="register_user()"-->
        <div class="form-group">
    <label class="sr-only" for="form-first-name">First name</label>
            <input type="text" name="user_first_name"  id="user_first_name" placeholder="First name..." class="form-first-name form-control" >
         </div>
         <div class="form-group">
            <label class="sr-only" for="form-last-name">Last name</label>
            <input type="text" name="user_last_name" id="user_last_name" placeholder="Last name..." class="form-last-name form-control">
         </div>
         <div class="form-group">
            <label class="sr-only" for="form-email">Email</label>
            <input type="text" name="user_email" id="user_email" placeholder="Email..." class="form-email form-control" >
         </div>
         <div class="form-group">
            <label class="sr-only" for="form-password">Senha</label>
            <input type="password" name="user_password" id="user_password" placeholder="Senha..." class="form-password form-control" >
         </div>
         <div class="form-group">
             <label class="sr-only" for="form-password">Confirmar Senha</label>
            <input type="password" name="user_confirm_password" placeholder="Confirmar Senha..." class="form-password form-control" >
        </div>
        <button type="submit">Sign me up!</button>
</form>

名字
姓
电子邮件
森哈
森哈确认酒店
给我报名!

作为一个附带问题。注册完成后,我想重定向到新页面。我目前有“app.use(express.static(uu dirname+'/user_profile.html'));”,但我很确定这是不正确的或半正确的。

您的代码中没有
主体解析器

看看这是否能帮助您:-

var express = require('express')
var bodyParser = require('body-parser')

var app = express()

app.use(bodyParser.urlencoded({ extended: false }))

app.use(bodyParser.json())
把这个放在上面


如果仍然存在问题,请参阅。

似乎您的
请求正文
未定义Hanks Shrabanee。这确实删除了错误消息,但现在当我单击“提交”时,页面一直在思考,直到它显示“无法发送数据”。我将创建一个新问题,因为它与当前问题不完全相关。谢谢你的医生,我从中学到了一些东西=)