Вы можете извлечь status codes
из объекта ответа в axios
если вы напечатаете объект ответа (как показано на рисунке ниже), вы сможете увидеть все объекты внутри объекта ответа. Одним из них является status object
![enter image description here](https://i.stack.imgur.com/9FdUm.png)
response.status
выдаст вам код состояния, отправленный с сервера
axios.get("http://localhost:3000/testing").then((response)=>{
console.log("response ",response);
if(response.status == 200){
//do something
}
else if(response.status == 202){
//do something
}
else if(response.status == 301){
//do something
}
}).catch((err)=>{
console.log("err11 ",err);
})
На стороне сервера вы можете явно отправить любой код состояния, используя метод res.status()
, для получения более подробной информации см. эту документацию
app.get('/testing',(req, res)=> {
res.status(202).send({"res" : "hi"});
});
Обновление:
По умолчанию @nuxtjs/axios
возвращает response.data
в .then((response))
Событие $axios.onResponse
будет иметь доступ к полному объекту ответа.
Вам необходимо настроить перехватчик для перехвата события $axios.onResponse
и изменения объекта ответа
В каталоге плагинов создайте плагин, plugin/axios.js
Обновление раздела plugins
plugins : ['~/plugins/axios']
в nuxt.config.js
export default function ({ $axios, redirect }) {
$axios.onResponse(res=>{
console.log("onResponse ", res);
res.data.status = res.status;
return res;
})
}
В res object
в этом перехватчике у вас будут все значения (как показано на моем первом скриншоте). Но это res object
не возвращается как есть, только res.data
возвращается в нашу программу.
Мы можем обновить содержимое внутри res.data
, а затем вернуть res object
, как показано в моей программе res.data.status = res.status;
.
Теперь, когда axios
вернет res.data
, у нас будет доступ к res.data.status
значению в response
объекте в .then((response))
обещании
Вы можете получить доступ к статусу, используя response.status
внутри this.$axios
this.$axios.$get("url").then((response) =>{
console.log("status ",response.status);
}).catch((err) => {
console.log("res err ",err);
});