我有一個函數,它使用axios get方法並且在promise上返回我已經添加了錯誤處理來處理當我嘗試連接的服務已被禁用的情況。axios不能訪問錯誤消息
axios.get('/someurl')
.then(() => {
// this does not matter
})
.catch((err) => {
logger.error(TAG, 'postCreateVm', err);
return reply(Boom.forbidden(err.message));
});
當我使用捲曲我可以看到的消息,響應狀態爲403:
# curl -X GET localhost:3000/someurl
{
"message": "abort"
}
的問題是,當我嘗試訪問「消息」屬性我得到什麼,但我知道在那! (我曾嘗試使用err.response.data也沒有成功也)
根據該文件,我應該能夠訪問它:axios handling errors
什麼是訪問此信息的正確方法?
它也取決於服務器端。我有我的服務器端在Python和Flask,並且事實證明錯誤消息沒有發送(我有一個try-catch,並在catch塊我重新提出相同的異常)。在註冊一個像http://flask.pocoo.org/docs/0.12/patterns/apierrors/這樣解釋的錯誤處理程序之後,錯誤消息就像在這個答案中一樣。 – Mahdi