无法从注册表中发布

时间:2019-01-07 23:57:52

标签: node.js mongodb

我已经在NodeJS中实现了注册表。单击提交按钮时,我无法从注册表中获取数据。我不知道为什么会这样!请帮帮我。

user.js存储在路由文件中。 userregister.ejs存储在视图文件中。

enrichDataFromGoogleAndInsert

1 个答案:

答案 0 :(得分:0)

您快到了,但是您错过了一些关键步骤:

  1. 在使用路由器之前,需要创建应用并使用路由器
    • 在顶部:const app = express()
    • 在底部:
      • app.use('/',router)
      • app.listen(3000,()=> console.log('示例应用程序监听')
  2. 要阅读表格,您需要一个解析器
    • var bodyParser = require('body-parser')
    • app.use(bodyParser.json());
    • var urlenlendParser = bodyParser.urlencoded({扩展名:false})
  3. 解析器是中间件,因此您需要将其添加到路由
    • router.post('/ register', urlencodedParser ,函数(req,res){
  4. 不要忘记在console.log之后响应浏览器,否则该应用程序将挂起。

这是工作代码:

// users.js

var express = require('express');
var router = express.Router();
var bodyParser = require('body-parser');
const app = express();
const port = 3000;

app.use(bodyParser.json());
var urlencodedParser = bodyParser.urlencoded({ extended: false })

//Get Login
router.get('/login', function(req,res){
    res.render('userlogin');
});

//Get Register
router.get('/register', function(req,res){
    res.sendFile(__dirname+'/userregister.ejs');
});

//Post Register
router.post('/register', urlencodedParser, function(req,res){
    var nam = req.body.name;
    console.log(nam);
    res.send(nam);
});

app.use('/',router)

app.listen(port, () => console.log(`Example app listening on port ${port}!`))

module.exports = router;