Ho alcuni file html/js locali con cui vorrei richiamare alcuni server remoti tramite https ed eventualmente utilizzare l'autenticazione di base per la richiesta.Autenticazione di base con jQuery.ajax request e jsonp
Sto incontrando due problemi. Il primo è che, se non specifico 'jsonp' per il tipo di dati, jQuery.ajax() richiesta restituisce l'errore:
Access to restricted URI denied code: 1012
sono le mie richieste considerati tra domini perché il mio file di lavoro principale viene memorizzato localmente, ma recuperare dati da un server altrove?
Così bene, aggiorno la chiamata in modo che ora assomiglia a:
$.ajax({
url: myServerUrl,
type: "GET",
dataType: "jsonp", // considered a cross domain Ajax request if not specified
username: myUsername,
password: myPassword,
success: function(result)
{
// success handling
},
error: function(req, status, errThrown){
// error handling
}
})
Perché ho bisogno di utilizzare l'autenticazione di base, che sto passando il nome utente/password, ma se a monitorare la richiesta, ho don vediamo che viene impostato e inoltre, il server invia una risposta di errore poiché non ha le informazioni previste.
Inoltre, poiché ho jsonp
impostato, beforeSend
non verrà richiamato.
Come si passano le credenziali utilizzando l'autenticazione di base per questa richiesta?
Questa è la risposta corretta, JSONP non può contenere le intestazioni USER/PWD richieste da Basic Auth. Quindi sei dannato se lo fai e dannazione se non lo fai :) –