我有一个简单的请求发送到我的服务:
var request = new XMLHttpRequest();
request.open("OPTIONS", url, true);
request.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
request.setRequestHeader('Accept', 'application/json');
request.onreadystatechange = function () {
if (request.readyState != 4) {
return;
}
var authType = request.getResponseHeader("WWW-Authenticate");
makeRequest(...);
};
request.send();
}
所以我想要实现的是调用我的端点来查看授权类型(基本或承载者),然后当我获得授权类型后,将使用适当的凭据进行实际请求。
如果我手动发出请求,我会得到401未经授权,这是正常的,但我也会在头文件中得到WWW-Authenticate:Basic ...。然而,如果我执行此javascript调用,它将仅失败并显示401:未经授权,但我在回调中没有收到此失败响应,因此authType将是未定义的。
我以前没有使用过javascript,所以问题是,即使请求失败了,如何在回调中获取响应?
XMLHttpRequest.getResponseHeader()
:第二步:“如果错误标志被设置,则返回null。” - Andreas