繁体   English   中英

使用 axios 执行 GET 请求时出现 401 错误

[英]401 error when performing GET request w/ axios

我可以在浏览器中查看 JSON 数据,但不能在控制台中查看。 我对 axios 不是很熟悉,但我认为问题出在 url 上(请参阅下面的代码段)。 那,或者我在axios.get {遗漏了一些东西。

有什么想法吗?

服务器.js:

axios.get("https://handshake.[redacted].com/HandshakeWebServices/Odata/Odata.ashx/HS[redacted]?hsf=@UserName=%27[redacted]%27&$select=PreferredName,Initials,JobTitle,Office", {
    crossDomain: true,
    method: "GET",
    credentials: "include",
    mode: "no-cors",
    headers: {
        "Accept": "application/json; odata=verbose"
    }
})
.then(function(res){
  console.log(res.data);
})
.catch(function(e){
  console.log(e);
})

安慰:

GET https://handshake.[redacted].com/HandshakeWebServices/Odata/Odata.ashx/HS[redacted]?hsf=@UserName=[redacted]&$select=PreferredName...etc 401 (Unauthorized)

server.js?1d69:18 Error: Request failed with status code 401
    at createError (createError.js?2d83:16)
    at settle (settle.js?467f:18)
    at XMLHttpRequest.handleLoad (xhr.js?b50d:77)

该站点返回401 ,这意味着您无权访问该 URL。

通常,这意味着您需要发送凭据。

现在,您已经说过credentials: "include",但这是fetch识别的属性,而不是axios axios等价物是withCredentials: true ,所以设置它。


您还说过mode: "no-cors",这是fetch识别的另一个属性,而不是axios 反正你不想要。 发送凭证需要通过 CORS 获得许可,因此通过拒绝 CORS,拒绝获得发送凭证许可的可能性。

删除该属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM