我正在尝试通过axios调用位于远程服务器上的api。但是我受到“被CORS政策阻止”的打击。因此,为了解决这个问题,我试图通过server.js文件中的node.js调用该api(以下称为“ targetApi”):
app.get("/api/nodeApi/", function(req, res) {
const authUrl =
"http://targetApi";
let isAdmin = false;
axios({
method: 'get',
mode: 'cors',
withCredentials: true,
url: authUrl
})
.then(response => {
isAdmin =
response.data.isAdmin;
})
.catch(err => {
return err;
});
}
所以我从常规jsx文件中调用它,如下所示:
startAPICall = () => {
let url;
url = 'http://localhost:5000/api/nodeApi';
axios
.get(url, {
withCredentials: true,
method: 'GET'
})
.then(response => {
console.log(response.data);
message.success('It worked!');
})
.catch(err => {
console.log(err);
message.error('Error: ' + err);
});
};
问题是“ targetApi”正在使用Windows身份验证。因此,当我这样称呼它时,我收到401-未经授权的错误。
有什么方法可以将用户凭据通过nodeApi传递给targetApi?