Wysyłam żądanie GET do mojego lokalnego serwisu, którego oczekuję, że zwrócona zostanie odpowiedź 302 z lokalizacją w nagłówku. Dostaję jednak niezdefiniowaną odpowiedź i błąd sieci, mimo że widzę lokalnie, że żądanie jest obsługiwane, a odpowiedź jest tworzona bez żadnych błędów w usłudze internetowej.302 Błąd odpowiedzi
Próbowałem w Postman i Chrome, i otrzymuje odpowiedź przekierowania i odpowiednio przekierowuje.
Nie jestem pewien, czy to jest problem CORS, a jeśli tak, jak mogę to rozwiązać?
ja już dodane w nagłówku odpowiedzi na CORS filtrować
Access-Control-Expose-Headers: Location, [own headers]
Access-Control-Allow-Origin: '*'
Access-Control-Allow-Methods: POST, PUT, GET, OPTIONS, DELETE
Access-Control-Max-Age: [some age]
Access-Control-Allow-Headers: [own headers]
A lokalizacja jest obecny w nagłówku gdy używam Postman
Żądanie robię używając Axios i config jest
const config = {
url: [someURL],
method: 'GET',
headers: {
'customHeader':'token',
},
params: {
[params]
},
maxRedirects: 0,
validateStatus: status => (status >= 200 && status < 300) || status === 302,
};
Każda pomoc będzie naprawdę zrozumiałe, dlaczego odpowiedź jest niezdefiniowana, gdy osiągnie mój kod JS, ale działa dobrze w Postman i Chrome.
Sposób, w jaki mogę to rozwiązać, to użycie kodu stanu HTTP 200 i uzyskanie nagłówka lokalizacji, aby przekierować, ale chcę tego uniknąć, ponieważ jest to z technicznego punktu widzenia odpowiedź przekierowania.
Możliwe, że możesz spróbować sprawdzić status 'readyState' i wyszukać' HEADERS_RECEIVED' (https://xhr.spec.whatwg.org/). Sprawdź tę odpowiedź http://stackoverflow.com/questions/228225/prevent-redirection-of-xmlhttprequest. –
Ale otrzymuję niezdefiniowaną odpowiedź, która nie zawiera żadnego stanu ani treści odpowiedzi ani nagłówków. – diepjy