node.js - 如何从nodejs服务器获得响应
问题描述
在我的应用程序中,我想从 nodejs 服务器获得响应。如果我输入已注册的邮件 ID,我想在 register.component.ts 中的浏览器 console.log 上获得“用户已存在”消息。怎么做?多次尝试但无法找出答案。请任何人帮助。
user.js://服务器
users.post('/register', (req, res) => {
const today = new Date()
const userData = {
first_name: req.body.first_name,
last_name: req.body.last_name,
email: req.body.email,
password: req.body.password,
created: today
}
User.findOne({
email: req.body.email
})
//TODO bcrypt
.then(user => {
if (!user) {
User.create(userData)
.then(user => {
const payload = {
_id: user._id,
first_name: user.first_name,
last_name: user.last_name,
email: user.email
}
let token = jwt.sign(payload, process.env.SECRET_KEY, {
expiresIn: 1440
})
res.json({ token: token })
})
.catch(err => {
res.send('error: ' + err)
})
} else {
res.json({ error: 'User already exists' })
}
})
.catch(err => {
res.send('error: ' + err)
})
})
身份验证.service.ts:
public register(user: TokenPayload): Observable<any> {
const base = this.http.post(`/users/register`, user)
const request = base.pipe(
map((data: TokenResponse) => {
if (data.token) {
this.saveToken(data.token)
}
return data;
})
)
return request;
}
register.component.ts:
register() {
this.auth.register(this.credentials).subscribe(
() => {
this.router.navigateByUrl('/profile')
},
err => {
console.error(err); // how to get error message like "User already exits"
}
)
}
解决方案
推荐阅读
- javascript - 使用不同颜色突出显示文本字符串中的特定单词
- python - 如何让 Selenium 点击这个按钮?
- python - 使用 numpy python 计算宏平均 F1 分数(不使用 scikit learn)
- java - java protobuf 的通用 getDefaultInstance()
- go - 如何验证公钥是否匹配私钥签名?
- javascript - React.js:滑块组件的计数器功能无法正常工作
- python - Odoo xmlrpc,不允许修改读取操作
- google-cloud-platform - GCP Pub/Sub:阅读消息时,确认截止日期不起作用
- r - 使用集群反转索引
- c++ - 有没有其他方法可以在没有向量的情况下在 C++ 中填充数组