问题描述
我正在尝试致电服务以获取条形码详细信息。
var url = "https://api.outpan.com/v1/products/0796435419035";
var xmlhttp = new XMLHttpRequest();
var encodedString = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:";
xmlhttp.open("GET", url, true);
xmlhttp.setRequestHeader("Authorization", "Basic " + encodedString);
xmlhttp.send();
var temp = xmlhttp.responseXML;
encodeString是API密钥Base64转换。 在Javascript中,将字符串转换为Base64并不容易。 我已经使用在线工具对其进行了转换,并将该值分配给encodeString。 但是我得到:
加载资源失败:服务器响应状态为401(未授权)
Reader.html:1 XMLHttpRequest无法加载 。 无效的HTTP状态代码401
1楼
dfogni
1
2015-07-30 21:01:40
您忘记了冒号和(空)密码。
基本认证的格式为"Basic " + base64(username + ":" + password)
,因此您需要先对api密钥进行编码,然后再加上冒号。