После выполнения console.log ошибки отображается только трассировка стека ошибки, а не данные, связанные с ней. Данные, отправленные вместе с ним, могут быть получены и зависят от того, как был сделан запрос или из какой библиотеки он был сделан. Если запрос сделан axios
, то может быть сделано следующее:
axios.post('/formulas/create', {
name: "",
parts: ""
})
.then(response => {
console.log(response)
})
.catch(error => {
console.log(error.response.data.message)
});
Здесь, в axios, детали ошибки будут заключены в error.response
. Принимая во внимание, что если запрос был сделан API fetch
, то что-то следующее может решить проблему:
fetch('/401').then(function(response) {
if (response.status === 401) {
return response.json()
}
}).then(function(object) {
console.log(object.message)
})
P.S Я много искал по этой проблеме, но не получил ответа по SO, не получил ни статьи, ни документации по ней, даже официальные документы Express по обработке ошибок не помогли. Наконец я понял, что проблема заключается в библиотеке, которая используется для выполнения запроса. Вот почему отвечая на мой собственный вопрос, чтобы отметить наличие этого вопроса на SO. Подробное обсуждение можно найти здесь , относящемся к axios , и здесь , относящемуся к fetch api