我是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
我缺少什么?帮助将不胜感激。
答案 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上的