我有这个快速路由器。
app.get('/is-unique-email', function(req, res){
// if email address is unique
if(unique){
res.json({ unique: true })
return
}
// else return 403 with error message
res.status(403).json({
email: 'Email already taken.'
})
})
然后如何使用上面的json与axios?
axios.get('/is-unique-email', { email })
.then(result => {
console.log(result)
})
.catch(err => {
console.log(err)
})
正常200响应没问题,我可以得到这样的响应数据:
{data: { unique: true }, status: 200, ... }
但403响应,我收到了这个回复:
Error: Request failed with status code 403
at createError (createError.js:16)
at settle (settle.js:18)
at XMLHttpRequest.handleLoad (xhr.js:77)
我真正想要的是
{ status: 403, error : error, email: 'email already taken' }
如何使用JSON格式获得403响应?我是新手开发者,构建json api服务器。
答案 0 :(得分:2)
响应数据存储在err.response
所以你会这样做:
axios.get('/is-unique-email', { email })
.then(result => {
console.log(result)
})
.catch(err => {
console.log(err.response)
})