我安装了最新版本的body parser(1.17.1),并按照其他人建议的顺序设置代码。
>
进口快递
导入体解析器
app=Express();
app.use(body Parser.json);
应用程序。使用(bodyParser.urlencoded({extended:false}));
但我经常遇到错误“TypeError:无法读取未定义的属性‘password’”。
事实上,我无法想象问题是什么。
我花了近10个小时跟踪解决方案,几乎放弃了。
有什么方法可以让我的代码工作吗?
请帮我一些。。。
下面是我的代码
const express = require('express');
const path = require('path');
const session = require('express-session');
const MySQLStore = require('express-mysql-session')(session);
const bodyParser = require('body-parser');
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
const pbkdf2Password = require('pbkdf2-password');
const hasher = pbkdf2Password();
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '10rhrnak',
database: 'users',
});
connection.connect();
//crawler setting
const http = require('http');
const cheerio = require('cheerio');
const iconv = require('iconv-lite');
const fs = require('fs');
const app = express();
const port = process.env.PORT || '4200';
app.set('port', port);
app.listen(port, () => console.log(`API running on localhost:${port}`));
app.use(express.static(path.join(__dirname, '../dist')));
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, '../dist/index.html'));
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(session({
secret: '@232t2g23',
resave: false,
saveUninitialized: true,
store: new MySQLStore({
host: 'localhost',
port: 3306,
user: 'root',
password: '10rhrnak',
database: 'users',
})
}));
app.use(passport.initialize());
app.use(passport.session());
app.post('/auth/register', (res, req) => {
hasher({password: req.body.password}, (err, pass, salt, hash) => {
let user = {
authId: 'local'+req.body.email,
email: req.body.email,
password: hash,
salt: salt,
displayName: req.body.displayName
};
let sql = 'INSERT INTO users SET ?';
connection.query(sql, user, (err, results) => {
if(err) {
console.log(err);
throw new Error("register error!");
} else {
req.redirect('/');
}
});
});
});
还有我的前端代码(angular2 html模板)
<div class="loginbox">
<div [hidden]="submitted">
<header>MAILBOY</header>
<form ngNoForm action="/auth/register" method="post">
<input type="text" name="email" id="email" placeholder="이메일 주소"/>
<input type="password" name="password" id="password" placeholder="비밀번호"/>
<input type="text" name="displayName" id="displayName" placeholder="사용자 이름"/>
<button type="submit" class="login">가입</button>
</form>
</div>
</div>
您已切换路由处理程序的参数:
app.post('/auth/register', (res, req) => { ... });
这应该是:
app.post('/auth/register', (req, res) => { ... });
下面的示例将展示将HTML fragement String解析为Element对象作为html正文。 语法 (Syntax) Document document = Jsoup.parseBodyFragment(html); Element body = document.body(); 哪里 document - document对象表示HTML DOM。 Jsoup - 解析给定HTML
我试图在我的代码中使用Bodyparser,但代码被编辑器本身剪切,并表示Bodyparser已被弃用。我尝试了一些我在网上找到的替代代码,但都不起作用。附件是我正在使用的代码的截图。密码 代码:
示例中提供了PrivateRoutehttps://reacttraining.com/react-router/web/example/auth-workflow 与Redux连接后不工作。 我的PrivateRoute看起来与原始版本几乎相同,但只连接到Redux,并在原始示例中使用它而不是fakeAuth。 用法和结果:- 不起作用,但需要
此测试失败:预期: 我的代码有问题吗这是一个bug吗?
我有一个带有简单表单的ejs模板,只有一个值: 在我的app.js我试图调用console.log(req.body),但它返回空 "{}". 这是我的app.js代码: 在其他问题上,很多人说他们会使用这款应用。使用(bodyParser.urlencoded({extended:false}));但一切都没有改变。我试过了。json()也是,但似乎没有什么变化。顺便说一句,我试过了。记录(请求
传入我的应用程序ID。我在某处读到配置在解析服务器上不起作用,但想确认一下