知道为什么 XMLHttpRequest
中具有正确凭据的Pebble JS Framework
在Android上无法通过基本身份验证,但在iOS上有效吗?
完全相同的代码,大致如下:
var req = new XMLHttpRequest();
req.open(method, url, true, user, pass);
req.send(data);
req.onreadystatechange = function() { ... }
从Android Pebble应用返回401,但在iOS中正确进行身份验证。
最佳答案
我找到了一种适用于Android的解决方法。
不知道为什么,但直接通过身份验证的请求:
req.open(method, fullurl, true, user, pass);
req.send(data);
不适用于我-它总是返回401。因此,我改为尝试通过 header 设置基本身份验证:
req.open(method, fullurl, true);
req.setRequestHeader("Authorization", "Basic " + Base64.encode(user + ":" + pass));
req.send(data);
(从此处获取Base64:https://stackoverflow.com/a/246813/961695)–它起作用了!也许XmlHttpRequest在Android上的实现存在错误。
关于ajax - XMLHttpRequest无法通过基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24216459/