Jquery基本身份验证错误

Nee*_*esh 1 authentication ajax jquery 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));
          }
});
Run Code Online (Sandbox Code Playgroud)

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

在进一步调试我得到

Uncaught ReferenceError: encodeBase64 is not defined
Run Code Online (Sandbox Code Playgroud)

我错过了什么?帮助将不胜感激.

ste*_*ukx 7

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

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

xhr.setRequestHeader('Authorization', 'Basic ' + btoa(username + ":" + password));
Run Code Online (Sandbox Code Playgroud)

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