Jquery基本身份验证错误

时间:2012-02-21 14:38:31

标签: jquery ajax authentication cordova

我是Jquery的新手。 我正在尝试使用jquery发送带有基本身份验证的请求。这就是我做的。

$.ajax({
          type: "GET",
          url: domain,
          dataType: 'json',
          success: function(){
            alert('Thanks for your comment!'); 
          },
          error:function(){
            alert('here');
          },
          beforeSend: function(xhr){ 
            xhr.setRequestHeader('Authorization', 'Basic ' + encodeBase64(username + ":" + password));
          }
});

但我的问题是我没有得到任何反复无常的东西。看起来成功或错误方法都被调用。

进一步调试我得

Uncaught ReferenceError: encodeBase64 is not defined

我缺少什么?帮助将不胜感激。

1 个答案:

答案 0 :(得分:7)

错误是没有定义名为encodeBase64的方法。

许多浏览器都有从ascii到base64的内置转换,名为btoa:

xhr.setRequestHeader('Authorization', 'Basic ' + btoa(username + ":" + password));

如果您支持较旧的浏览器,请确保存在base64 polyfill,例如http://ww.w.icodesnip.com/search/javascript%20dark%20codes/45上的