首页 > 解决方案 > 在 GET 调用中使用 isomorphic-fetch 时基本身份验证无法正常工作

问题描述

WWW-Authenticate:Basic realm="Realm"在标头中正确传递身份验证参数,但它会在响应标头中转换为。

下面是我的 get api 调用代码片段。

doGetAuthRaceReplay (url) {
    var param = this._doGetParam({  'credentials': 'include',
                                    'Accept': 'application/json',
                                    'Content-Type': 'application/json',
                                    'Authorization': "Basic " + window.btoa('uname+':'+password')});
    return fetch(url, param)
}

_doGetParam (headers) {
    var params = {
        method: 'GET',
        dataType: 'JSON',
        headers: headers
    };
    return params;
}

调用 api 后出现错误 401。邮递员工作正常。

我也尝试过使用普通的 jquery ajax 调用,但仍然无法得到它。

 var username = "uname";
 var password = "pass";
 var url = 'My url';
 $.ajax({
   url: url,
   success: function(json) {
     alert("Success", json);
 },
 error: function(XMLHttpRequest, textStatus, errorThrown) {
   alert(textStatus, errorThrown);
 },

headers: {
'Access-Control-Allow-Origin' : '*',
'Authorization' : "Basic " + btoa(username+':'+password)}
'accept':'application/json'
},
type: 'GET',
contentType: 'json',
});

仍然收到 401 错误。

标签: javascriptajaxreactjsreduxisomorphic-fetch-api

解决方案


推荐阅读