Cabeçalhos de solicitação de autorização do Ajax falham repetidamente
Estou trabalhando em um consumidor para uma API criada por mim e tendo sérias dificuldades em definir o Cabeçalho da autorização. Estou usando o JQuery para as solicitações do Ajax, mas o 'beforeSend' não funciona (usandoviolinist para examinar os pedidos)
Este é o meu código ant
$.ajax({
type: "GET",
url: url+"/Projects",
contentType: "application/json; charset=utf-8",
beforeSend: function (req) {
req.setRequestHeader("Authorization", AuthBuilder(username, password));
},
success: function (result) {
alert("success");
},
error: function (xhr, ajaxOptions, thrownError) {
alert("fail");
}
});
Bem, se isso falhar, o que você faz? Volte à maneira antiga de enviar solicitações de ajax ... bem, isso também não funciona ...
Este é o meu código regular:
function GET(address, callback, error) {
Request = getXMLHttpObject();
Request.open("GET", url + address, true);
var base64 = Base64.encode(username + ":" + password);
alert(base64);
Request.setRequestHeader("Authorization", "Basic " + base64);
Request.send();
Request.onreadystatechange = function () {
//alert(Request.readyState+" code "+Request.status);
if (Request.readyState == 4 && Request.status == 200) {
callback(jQuery.parseJSON(Request.responseText));
} else if (Request.readyState == 4 && Request.status >= 400) {
error(Request.status, Request.statusText);
}
}
}
Não se importe com o fato de eu não estar pedindo json especificamente porque o serviço retorna json porpadrã.
In informações adicionais:
a origem não importa, o serviço permite todas as origens (foi testado e confirmado) autorização funciona quando definida por cabeçalhos (testada em outros clienteOs cabeçalhos da autorização simplesmente não são enviadosAuthBuilder (nome de usuário, senha)) fornece o formato correto do conteúdo do cabeçalho de Autenticação Básicathe getXMLHttpObject () é apenas um código de copiar e colar e trabalhou antes deAlguma ideia