#javascript #node.js
Вопрос:
Кто-нибудь может мне помочь. Я испытываю эту ошибку. «Неперехваченная ошибка типа: Не удается прочитать свойство «статус » неопределенного», и в нем говорится, что это от sessionChecker. Может ли кто-нибудь помочь мне отладить или устранить эту ошибку. Я пытаюсь исправить это для своего проекта. я надеюсь, что вы сможете мне в этом помочь
export default {
name: 'payout-network-manager-table',
components: {
AddPayOutNetworkModal,
EditPayOutNetworkModal,
ViewPayOutNetworkModal,
NotesModal
},
mixins: [
sessionChecker
],
data () {
return {
search_key_word: '',
payout_networks: {},
countries: [],
pay_out_network_types: {},
new_pay_out_networks: {},
pay_out_network_id_for_view: 0,
pay_out_network_id_for_edit: 0,
pay_out_network_id_for_note: 0,
country_id: '',
submitting: false,
token: localStorage.token,
display: false,
}
},
created() {
this.getPayoutNetworks();
Fire.$on('reloadAfterNewAmendPayOutNetwork', () => {
this.getPayoutNetworks();
});
},
methods: {
getPayoutNetworks(page){
let formData = new FormData;
if (typeof page === 'undefined') {
page = 1;
}
formData.append('search_key_word', this.search_key_word);
axios.post('/api/payout-networks?page=' page, formData, {
headers: {
Accept: "application/json",
"Content-Type": "application/json",
Authorization: "Bearer " this.token,
}
})
.then(response => {
this.display = true;
this.payout_networks = response.data.payout_network_list;
this.countries = response.data.countries;
this.pay_out_network_types = response.data.pay_out_network_types;
this.extractCountryAvailableInto();
})
.catch( error => {
this.sessionChecker( error );
});
},
passPayoutNetworkId (id) {
this.pay_out_network_id_for_view = id;
},
passPayOutNetworkIdForEdit (id) {
this.pay_out_network_id_for_edit = id;
},
passPayoutNetworkIdForNotes (id) {
this.pay_out_network_id_for_note = id;
},
deletePayoutNetwork (id) {
if (confirm('Are you sure you want to delete this Payout Network?'))
{
axios.delete('/api/payout-network', {
headers: {
Accept: "application/json",
"Content-Type": "application/json",
Authorization: "Bearer " this.token,
},
data: JSON.stringify({
id: id
})
})
.then( response => {
Fire.$emit('reloadAfterNewAmendPayOutNetwork');
Toast.fire({
icon: 'success',
title: response.data.message
});
})
.catch( error => {
this.sessionChecker( error );
})
}
}
}
};
Это мой контролер сеансов. Может ли кто-нибудь помочь мне решить эту ошибку.
export const sessionChecker = {
mixins: [
logout
],
methods: {
sessionChecker ( error ) {
let title = 'Something went wrong, Please log in again';
let wrong = false;
if( error.response.status == 400 ) {
title = 'Bad Request, Please log in';
wrong = true;
}
if( error.response.status == 401 ) {
title = 'Unauthorized action, Please log in';
wrong = true;
}
if( error.response.status == 403 ) {
title = 'Forbidden, Please log in';
wrong = true;
if( error.response.data.message == 'Your email address is not verified.' ) {
title = 'Your email address is not verified. Please verify first before we proceed';
wrong = false;
}
}
if( error.response.status == 404 ) {
title = 'Page not found, Please log in';
wrong = true;
}
if( error.response.status == 419 ) {
title = 'Session Expired, Please log in again, sorry for the inconvenience';
wrong = true;
}
Toast.fire({
icon: 'error',
title: title
});
if( error.response.status != 422 ) {
if( wrong ) {
this.logout();
}
else {
if (this.$route.path !== '/email/resend') {
this.$router.push({ path : '/email/resend' });
}
}
}
},
},
Комментарии:
1. Не могли бы вы указать номер строки, в которой возникает ошибка ? И укажите код, в котором вы вызываете средство проверки сеансов.
2. Ошибка выводится в состоянии ответа на ошибку 400
Ответ №1:
Поскольку error.response
может быть не определено, вы должны использовать необязательную цепочку для доступа к error.response.status
.
например: error?.response?.status