Я пытаюсь найти подходящий способ отправки ошибки в неудавшийся jquery почтовый запрос. Я везде искал, как это сделать.
Если я сделаю запрос на публикацию jquery следующим образом:
$.ajax({
type: "POST",
url: "/someRoute",
data: {
data: $(".data").val(),
},
success: function (data) {
console.log("Success")
},
error:function(err){
console.log(err)
$.toast({
title: err.message,
subtitle: 'Just Now',
content: err.message,
type: 'danger',
delay: 5000
});
}
})
Nodejs
router.post("/someRoute",(req,res)=>{
try{
if(!someCondition){
const err = new Error('Item Not Found')
err.statusCode = 404;
throw err;
}
}
catch(err){
res.status(404).send(err)
}
}
Проблема в том, что сообщение, которое я прикрепил к объект ошибки в Nodejs при выполнении
const err = new Error('Item Not Found')
недоступен в моей функции ошибок jquery. Сообщение об ошибке, которое я получаю на своей консоли:
abort: ƒ ( statusText )
always: ƒ ()
catch: ƒ ( fn )
done: ƒ ()
fail: ƒ ()
getAllResponseHeaders: ƒ ()
getResponseHeader: ƒ ( key )
overrideMimeType: ƒ ( type )
pipe: ƒ ( /* fnDone, fnFail, fnProgress */ )
progress: ƒ ()
promise: ƒ ( obj )
readyState: 4
responseJSON: {statusCode: 404}
responseText: "{"statusCode":404}"
setRequestHeader: ƒ ( name, value )
state: ƒ ()
status: 404
statusCode: ƒ ( map )
statusText: "Not Found"
then: ƒ ( onFulfilled, onRejected, onProgress )
__proto__: Object
Когда я обрабатываю конкретную c ошибку, я хочу вывести сообщение об ошибке клиенту, но все, что я знаю из сообщения об ошибке, которое я получено, что он оказался в 404.