如何使用表单操作处理响应?



我有一个表单,由于文件上传,我无法使用onClick +函数处理提交,我需要将操作指定为表单的属性。但是在行动之后,我想处理响应。如何赚取我想要的? 法典:

app.post('/register', (req, res) => {
const {email, name, password, passwordConfirm} = req.body;
let image;
if(password === passwordConfirm){
const hash = bcrypt.hashSync(password);
if(req.files){
image = req.files.image;
image.mv('../public/images/' + image.name, err => {
if(err){console.log(err)}
});
}
db('users')
.insert({
email,
hash,
username: name,
profimg: image.name || ""
})
.returning('*')
.then(user => {
res.json(user[0]);
})
.catch(err => res.status(400).json('unable to register'))
} else {
res.status(400).json("Passwords aren't matching")
}
})
<form ref='uploadForm' 
id='uploadForm' 
action='http://localhost:3001/register' 
method='post' 
encType="multipart/form-data">
<div className="inputs">
<input 
onChange={this.onNameChange}
type="text" 
name="username"  
placeholder="Username"/>
<input 
onChange={this.onEmailChange}
type="email" 
name="email"  
placeholder="E-mail"/>
<input 
onChange = {this.onPasswordChange}
type="password" 
name="password"  
placeholder="Password"/>
<input 
onChange = {this.onPasswordConfirmationChange}
type="password"
name="passwordConfirm"  
placeholder="Confirm Password"/>
<input type="file" name="image" />
</div>
<button type="submit">
Register
</button>
</form>

它是 React 和 Node。

Express 无法单独或使用 body-parser 包解析多部分/表单数据。你需要安装一个像 multer 或 busboy 这样的软件包。

最新更新