基本身份验证休息调用以获取json数据

时间:2017-08-04 15:14:31

标签: javascript jquery ajax rest basic-authentication

在静态html页面中,我尝试进行REST GET调用以获取json数据。 我有一个URL,我可以在URL中使用account + secret在浏览器中点击,并在浏览器中获取json数据。我无法给你正确的URL,但这就是它的样子:

http://123456:ABCDEFGHIJKLM@media.fakename.com/Media/service/id/323847.json

我在stackoverflow上尝试了很多例子但没有成功! 这是我试过的,我回来了错误:错误

 <script type="text/javascript">

function getRest(){

 $.ajax({
  type: 'GET',
  url: 'http://media.fakename.com/Media/service/id/323847.json',
  dataType: 'json',

  beforeSend: function (xhr) {
    xhr.setRequestHeader('Authorization', basicOath('123456', 'ABCDEFGHIJKLM'));
  },
  success: function () {
   var myvar = data;
   $(".text").html(myvar);
  },
  error: function(jqXHR, status) {
   $(".text").html("Error: " + status);
  }
 });
}

function basicOath(account, secret) {
 var tok = account + ':' + secret;
 var hash = btoa(tok);
 return 'Basic ' + hash;
}

</script>

<input id="clickMe" type="button" value="get rest" onclick="getRest();" />
<div class="text">abc <br />'

我能够尝试jquery示例进行休息调用以获取图像。它完美地运作。 http://api.jquery.com/jquery.getjson/ 所以我知道我可以打个电话。

我做错了什么?感谢您的帮助,因为我已经了解了堆栈和网络上的所有示例。我撞到了一堵砖墙。

1 个答案:

答案 0 :(得分:0)

beforeSend: function (xhr) {
    xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
},