2017-10-19 110 views
6

edit2: https://stackoverflow.com/a/37784969/107282 sugeruje, że nie muszę się martwić, ponieważ nie dzieje się to na prawdziwym urządzeniu.Status uchwytu (np. 503) w odpowiedzi opcji Axios OPCJE


Używam Axios w VueJS hybrydowy (Cordova) aplikacji i apeluję API.

Axios jest (prawidłowo) robi „” OPTIONS wniosek inspekcji wstępnej przed moim GET/POST żądań, ale jeśli API zwraca 503 na tym punkcie, mój błąd kod obsługi nie zostanie wywołana.

HTTP.post(url, data, {headers: {Authorization: 'Bearer ' + token.getAccessToken()}}) 
 
    .then(response => response) 
 
    .catch(error => { 
 
    // Not reached 
 
    });

Jak mogę złapać ten status błędu?


edit: zrzut ekranu z narzędzi chrom dev:

503 on OPTIONS request

+0

Jaka jest treść "odpowiedzi" w przypadku "503"? Czy ustawiony jest plik 'response.data'? – Sergio

+0

Używam axios i otrzymuję błąd 503 przez blok catch przy operacji get, status jest w error.response.status – FAjir

+1

Czy błąd 503 nie jest błędem sieci? Błędy sieci nie są obsługiwane przez aksje. – sandrooco

Odpowiedz

2

udało mi się odtworzyć problem i Najprostszą mogłem znaleźć jak poniżej

axios.interceptors.response.use(null, (error) => { 
    return Promise.reject(error); 
}); 

jako możesz zobaczyć w moich testach, że udało mi się uzyskać błąd i odpowiedź dla różnych scenariuszy

Network error

+0

To nie jest jednak na żądanie OPTIONS. – jezmck

+0

Dzieje się tak dlatego, że nie wysyłasz żądań opcji –