我正在尝试编写一个简单的脚本来获取JSON数据,但目标需要实际URL中的登录信息,如下所示:
http://login:password@URL/theapi
似乎在使用getJSON或直接ajax时,即使传递了登录详细信息,也会被跳过。我在Chrome中的开发者工具中遇到401错误,有趣的是,错误中的链接在点击时实际上会通过并将JSON数据输入浏览器
有解决方法吗?
答案 0 :(得分:0)
有解决方法吗?
是的,在进行AJAX调用时,请不要在网址中附加login:password。而是添加具有Base64编码值login:password的Authorization标头。这就是我们使用JQuery的方法:
$.ajax({
type: "GET",
url: "https://domain.tld",
dataType: "json",
beforeSend: function(xhr) {
xhr.setRequestHeader ("Authorization", "Basic " + btoa(login + ":" + password));
}
});