如何解决提取Javascript服务无法加载资源:服务器响应状态为401未经授权
我尝试使用javascript提供服务(特别是获取方法),但出现此错误:无法加载资源:服务器响应状态为401(未授权)。凭据很好,因为我已经在邮递员中对此进行了测试。
我在其中提供服务的网址:https://felipemoreno.co/server.html
我正在使用以下代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
console.log("prueba 352");
var markers = {}; //create obj
var markersss_array = []
markersss_array.push("1019035955");
//more datas push in array
markers["identificacion"] = markersss_array; //pass aray to json object
var markersConvertido = JSON.stringify(markers);
var url = 'https://osb.urosario.edu.co/uxxi-URO/WsFotografias/proxy/AdministradorFotografiasJsonPS/fotos/consultar';
var username = 'USERNAME';
var password = 'PASSWORD';
let headers = new Headers();
//headers.append('Content-Type','text/json');
headers.set('Authorization','Basic ' + btoa(username + ":" + password));
headers.set('Content-type','application/json; charset=utf-8');
fetch(url,{method:'POST',mode: 'no-cors',headers: headers,body: markersConvertido
})
.then(response => {
if (!response.ok) throw new Error(response.status);
return response.json();
});
</script>
</body>
</html>
解决方法
根据this answer,这是由于不使用cors模式所致–浏览器在没有预检OPTIONS请求的情况下,在跨域请求中不支持Authorization
之类的标头。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。