Próbuję uzyskać dostęp do niektórych usług RESTful, które działają na podstawie wstępnego podstawowego uwierzytelniania Apache. Korzystam z Ajax jquery i wysyłając użytkownika i hasło z nagłówkiem "Uwierzytelnianie". Jednak moje żądanie jest generowanie pustego błędu przy każdym uruchomieniu.jquery ajax & preemptive basic auth
Oto pełna $ .ajax wezwanie:
$.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){
...
}
});
Co robię źle? Czy jest coś, o czym tutaj ignoruję? Dzięki.
Aktualizacja: \t Zmieniłem parametry $ ajax. Teraz przekazuję swoje poświadczenia przy użyciu nazwy użytkownika: i hasła: argumenty. Błąd mówi: "Odmowa dostępu do zastrzeżonego URI" Brzmi jak problem z wieloma domenami, nie? –
Tak, jest to problem z wieloma domenami, jeśli pojawi się "Odmowa dostępu do zastrzeżonego URI". Musisz użyć JSONP do tego –
Niestety, myślę, że zamierzam użyć proxy PHP do wywoływania usług. Wygląda na to, że nie ma sposobu na przekroczenie tego przy pomocy prostego skryptu JavaScript. –