Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com um problema para conseguir autorização a uma API, mesmo colocando o usuário e senha corretos na URL, o AJAX me retorno erro 401, somente quando é o AJAX que faz a requisição que esse erro acontece. Se eu colo a URL no navegador funciona normalmente.
function consulta(nb, username, password){
var url = "http://"+username+":"+password+"@consulta.ws/a/"+nb+"?type=json&cache=refresh";
console.log(url);
$.ajax({
url: url,
method: "POST",
dataType: "JSON",
headers: {
'Authorization': 'Basic ' + btoa(username+':'+password),
},
success: function (result){
console.log(result);
},
error: function(error){
console.log(error);
}
});
}
Imagem do erro:
Spoiler
Sim, porém só recusa quando faço a requisição por AJAX. Se eu pego a URL e acesso direto no navegador não é recusada. A API me retorna um erro dizendo que preciso inserir usuário e senha. Porém estou mandando esses dados pela URL
Dever ser porque na requisição você ta colocando o method POST e o correto deve ser GET.
$.ajax({
url: url,
method: "GET",
dataType: "JSON",
headers: {
'Authorization': 'Basic ' + btoa(username+':'+password),
},
success: function (result){
console.log(result);
},
error: function(error){
console.log(error);
}
});
Tenta dessa forma para ver se vai dar certo.A API aceita tanto GET como POST. Das 2 maneiras da o mesmo erro.
Se não me engano a API ta recusando sua requisição, dizendo que as credenciais são invalidas.
https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Status/401