Sembra che jQuery non invii l'intestazione Authorization
quando si invia una richiesta OPTIONS
prima di una richiesta POST
(o eventualmente di altri tipi). Il server che sto cercando di raggiungere sta restituendo uno stato 401 per la richiesta OPTIONS
- come posso forzare jQuery a includere l'intestazione Authorization
, anche in questa richiesta iniziale?jQuery.ajax non invia l'intestazione Autorizzazione con richiesta OPZIONI
$.ajax({
type: "POST",
url: url,
data: postData,
beforeSend: function ajaxBeforeSend(jqXHR) {
jqXHR.withCredentials = true;
jqXHR.setRequestHeader("Authorization", "Basic " + btoa(encodeURIComponent(escape($username.val())) + ":" + encodeURIComponent(escape($password.val()))));
},
success: runReportUrlCallback,
error: runReportErrorCallback
});
Ho anche provato ad aggiungere username
e password
alle opzioni Ajax, senza alcun risultato.
possibile duplicato di [Perché la richiesta OPTION preflight di una richiesta CORS autenticata funziona in Chrome ma non in Firefox?] (Http://stackoverflow.com/questions/15734031/why-does-the-preflight-options-request -of-an-authentic-cors-request-work-in) – suish
Sembra che rendere il server che non richiede l'autenticazione sulla richiesta OPTIONS sia l'unico modo per risolverlo. – suish
Non "proprietario" del server. È un servizio web di terze parti. –