Ich versuche einige RESTful-Dienste zu erreichen, die unter der Preemptive-Standardauthentifizierung von Apache ausgeführt werden. Ich benutze jquery Ajax, und sende den Benutzer und das Passwort mit dem Header 'Authentifizierung'. Allerdings wirft meine Anfrage jedes Mal einen leeren Fehler, wenn sie ausgeführt wird.jquery ajax & preemptive basic auth
Hier ist der vollständige $ Schnipsel Aufruf:
$.ajax({
cache:false,
url: urladdress,
type:'GET',
async:false,
headers: { "cache-control": "no-cache" },
dataType: "html", //or xml or json
contentType: "html",
beforeSend : function(req)
{
req.setRequestHeader('Authorization', "Basic " + base64string); //user:password);
},
success: function(data){
successcallback(data);
},
error: function(xhRequest, ErrorText, thrownError){
alert("ERROR: "+ JSON.stringify(xhRequest));
},
complete: function(result){
...
}
});
Was mache ich falsch? Gibt es etwas, das ich hier ignoriere? Vielen Dank.
Update: \t Ich habe die $ ajax Parameter geändert. Jetzt gebe ich meine Zugangsdaten mit Benutzername: und Passwort: Argumente. Der Fehler sagt: "Zugriff auf eingeschränkte URI verweigert" Klingt wie ein Cross-Domain-Problem, nicht? –
Ja, es ist ein domänenübergreifendes Problem, wenn Sie "Zugriff auf eingeschränkte URI verweigert" erhalten. Sie müssen dafür JSONP verwenden –
Leider werde ich einen PHP-Proxy für den Aufruf der Dienste verwenden. Es scheint, dass es keine Möglichkeit gibt, das mit einfachem JavaScript zu lösen. –