Próbuję autoryzować zapytanie AJAX oparte na this tutorial. Ustawia nagłówki żądań przed wysłaniem z odpowiednimi informacjami autoryzacyjnymi za pomocą biblioteki Crypto. Problem, który mam, polega na tym, że nagłówki nie są ustawione na żądanie. Oto mój kod:Autoryzacja nagłówka jQuery AJAX
beforeSend : function(xhr) {
var bytes = Crypto.charenc.Binary.stringToBytes(username + ":" + password);
var base64 = Crypto.util.bytesToBase64(bytes);
xhr.setRequestHeader("Authorization", "Basic " + base64);
},
Co sprawia, że nagłówek nie jest ustawiony? Czy sprawdziłeś rzeczywiste połączenie xhr? Czy 'Crypto',' username' lub 'password' może mieć wartość' undefined'? Możesz także użyć zwijania i ustawić nagłówek (-H) i sprawdzić, czy nie jest to problem po stronie serwera. BTW, jestem tym, który napisał ten post na blogu ;-) – pdeschen
Piszę wywołanie xhr do dziennika, czego szukam w obiekcie? Sprawdziłem i wszystkie 3 są zdefiniowane poprawnie. Co się obecnie dzieje, otrzymuję 401 nieautoryzowany błąd z oczywistych powodów. Dobrze wiedzieć, dobry post. –
w Chrome, jeśli otworzysz Narzędzia dla programistów i wybierzesz kartę Sieć, a następnie element XHR na dolnej liście, możesz sprawdzić rzeczywiste żądania ajax, jego zawartość, nagłówki i wszystkie. – pdeschen