用于javascript的URL身份验证

时间:2018-02-20 13:48:59

标签: javascript json authentication url

我正在尝试编写一个简单的脚本来获取JSON数据,但目标需要实际URL中的登录信息,如下所示:

http://login:password@URL/theapi

似乎在使用getJSON或直接ajax时,即使传递了登录详细信息,也会被跳过。我在Chrome中的开发者工具中遇到401错误,有趣的是,错误中的链接在点击时实际上会通过并将JSON数据输入浏览器

有解决方法吗?

1 个答案:

答案 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));
  }
});