Wywołuję api przez javascript za pomocą wywołania jQuery.ajax. Interfejs API reaguje na 401, jeśli użytkownik nie jest uwierzytelniony i chcę zignorować ten błąd tylko w przypadku tego połączenia.Pozbyć się błędu 401 (nieautoryzowany) ajax w konsoli przeglądarki
Próbowałem wszystkich opcji oddzwaniania opisanych w opcjach jQuery, ale błąd nadal wyskakuje w konsoli przeglądarki (zarówno w przeglądarce Firefox, jak i Chrome).
Oto przykładowy kod, który wywoła błąd:
$.ajax({
type: 'GET',
url: '/url-with-auth',
dataType: 'json',
statusCode: {
401: function (error) {
// simply ignore this error
console.log(error);
}
},
complete: logall,
error: function() {
// simply ignore this error
console.log(error);
},
async: false
}).fail(function() {
// ignore the error and do nothing else
console.log("$.get failed!");
});
Ma to również efekt uboczny zainteresowanie ponownie poświadczenia użytkownika na maszynie pomostowego, który jest chroniony przez plik .htaccess, ponieważ uważa, że przeglądarka użytkownik nie jest uwierzytelniony, więc w kolejnych żądaniach użytkownik musi ponownie wprowadzić swoje poświadczenia http.
Czy istnieje sposób całkowitego zignorowania tego błędu?
Edit
Obecnie mam szablon HTML, który jest w całości z pamięci podręcznej po stronie aplikacji i chcę zachować to zachowanie ze względów wydajnościowych. Jedyną częścią, która zmienia układ, są informacje logowania dla bieżącego użytkownika, więc renderuję stronę (buforowaną) z domyślnym znacznikiem dla niezalogowanych użytkowników, a następnie za pomocą jQuery zastępuję odpowiednie elementy znaczników informacje logowania zwrócone przez wywołanie ajax. Więc jeśli użytkownik nie jest zalogowany, a punkt końcowy ajax zwraca 401, nic nie potrzebuję, znacznik powinien pozostać taki sam.
Wszystko działa w tej chwili, jedyną paskudną rzeczą jest to, że mam błąd 401 javascript w konsoli i chciałbym się go pozbyć.
Oto zrzut ekranu z komunikatem mówię:
można spojrzeć na http://stackoverflow.com/questions/10267683/jquery-ajax-handle-401-unauthorized –
@RachelGallen już to zrobił i starał tam wszelkie sugestie, procedura obsługi jest wykonywana, ale błąd jest nadal wyświetlany.Chciałbym tego całkowicie uniknąć, ponieważ w tym przypadku skrypt ma na celu dodanie elementu dom tylko wtedy, gdy użytkownik jest zalogowany, a jeśli nie, chcę po prostu zignorować połączenie. – Fabio
hmm, no cóż, mam nadzieję, że wkrótce znajdziesz odpowiedź. –