Sto chiamando un'API tramite javascript utilizzando una chiamata jQuery.ajax. L'API risponde con 401 se l'utente non è autenticato e voglio ignorare questo errore solo per questa chiamata.Eliminare un errore ajax 401 (non autorizzato) nella console del browser
Ho provato tutte le opzioni di callback descritte nelle opzioni jQuery ma l'errore si verifica ancora nella console del browser (sia in Firefox che in Chrome).
Ecco un esempio di codice che innescano l'errore:
$.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!");
});
Questo ha anche l'effetto collaterale di chiedere ancora una volta le credenziali di utente in una macchina messa in scena, che è protetto da un file .htaccess in quanto il browser pensa che l'utente non è autenticato, quindi nelle richieste successive l'utente deve immettere nuovamente le sue credenziali http.
C'è un modo per ignorare completamente questo errore?
Modifica
Attualmente ho un modello HTML che è interamente nella cache lato applicazione e voglio mantenere questo comportamento per motivi di prestazioni. L'unica parte che cambia nel layout sono le informazioni di accesso per l'utente corrente, quindi sto rendendo la pagina (memorizzata nella cache) con il markup predefinito per gli utenti non registrati e quindi usando jQuery I sostituisco gli elementi rilevanti del markup con informazioni di accesso restituite da una chiamata Ajax. Quindi se l'utente non è loggato e l'endpoint ajax restituisce 401 non ho bisogno di nulla, il markup dovrebbe rimanere lo stesso.
Tutto sta funzionando in questo momento, l'unica cosa brutta è che ho quell'errore di javascript 401 nella console e mi piacerebbe sbarazzarmene.
Ecco uno screenshot del messaggio di cui sto parlando:
si potrebbe guardare http://stackoverflow.com/questions/10267683/jquery-ajax-handle-401-unauthorized –
@RachelGallen già ha fatto e ha cercato tutto il suggerimento lì, il gestore viene eseguito, ma l'errore è ancora mostrato.Mi piacerebbe evitarlo completamente perché in questo caso lo script è destinato ad aggiungere un elemento dom solo quando l'utente è loggato e se non lo è voglio semplicemente ignorare la chiamata. – Fabio
hmm vabbè, spero di trovare presto una risposta. –