我对我的服务提出了一个简单的要求:
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:unauthorised 但我在回调中没有收到此失败响应,因此 authType 将是未定义的。
我以前没有使用过 javascript,所以问题是即使请求因未授权而失败,我如何才能在回调中获得响应?