javascript - 快报:这个功能是如何实现的呢?

标签 javascript node.js express

  router.post('/register', function(req, res) {
    User.register(new User({ username : req.body.email }), req.body.password, function(err, account) {
        if (err) {
            return res.render('register', { account : account });
        }

        passport.authenticate('local')(req, res, function () {
          res.redirect('/');
        });
    });
  });

我大致了解了这篇路由文章,但我不明白全部内容。

通常通过 req 传入哪些信息?似乎如果我执行 req.body.email 并且在我的注册 html 页面的正文中提交了带有电子邮件和密码字段的表单,我可以简单地以这种方式访问​​它们吗?

在 function(err, account) 回调中,到底从哪里获取 err 和 account 变量?我从来没有真正理解回调函数的变量是如何决定的,甚至它们是什么,似乎当你以某种方式路由它时需要两个变量 err 和 account?

非常感谢!

最佳答案

第一- 那么你应该阅读 ExpressJS 文档并了解正文、查询和参数之间的区别,但基本上是这样的

body指请求的正文,是通过POST或PUT提交的数据 query 指的是 url 或查询字符串的搜索部分“?”之后的所有内容 params 指的是路径中被参数化的部分。

希望能为您提供有关如何以及在何处查找信息的线索

第二个 - 是 Node 约定,传递给回调的第一个变量始终是错误变量,其余的根据本例中的函数是帐户,因为该函数假设创建数据库帐户并返回整个帐户信息,所以 ir可以被回调使用

关于javascript - 快报:这个功能是如何实现的呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24226553/

相关文章:

javascript - 自定义函数返回正确的结果,但也未定义。这是为什么?

node.js - Passport.js Passport-twitter.js Node.js 奇怪的 500 错误

node.js - 如何在 Node.js 中解密加密的密码

javascript - 在 React 中如何使用条件渲染?

javascript - BackboneJS 如何在悬停时加载 Spotify 播放列表

javascript - MomentJS:如何将特定时区和特定格式的时间转换为毫秒

node.js - Nodejs 示例中的 selenium-webdriver 不返回当前标题

javascript - 如何提供 html、css 和 js,同时将 module.export 内的路由保留在不同的文件中?目前仅提供 html

node.js - 避免使用 localhost 来解析 mocha 中的测试

javascript - 如何使用 JavaScript 将图像缩放到全屏?