我正遇到错误net :: ERR_ABORTED 401(未经授权)

时间:2020-02-10 13:24:25

标签: javascript reactjs react-native

在我的componentDidMount函数中,我遇到了问题。

我在Reactjs站点中面临error 401,我的用户名和密码正确。

componentDidMount() {
    console.log("Json Datalog") fetch('185.213.180.129:9900/cgi-bin/datalog.json', {
        'mode': 'no-cors'
      }, {
        method: "GET",
        credentials: 'include',
        headers: {
          'Authorization': 'Basic ' + btoa(this.state.deviceSettings.userName + ":" + this.state.deviceSettings.password),
        }
      }).then((response) => {
          console.log("Btoa Encryption::::: ", btoa(this.state.deviceSettings.userName + ":" + this.state.deviceSettings.password))

1 个答案:

答案 0 :(得分:0)

您要传递三个参数来获取

有效地,您正在使用类似的抓取方式

fetch('185.213.180.129:9900/cgi-bin/datalog.json', {
    mode: 'no-cors'
})

因此您的身份验证标头根本没有设置

改为尝试

fetch('185.213.180.129:9900/cgi-bin/datalog.json', {
    mode: 'no-cors',
    method: "GET",
    credentials: 'include',
    headers: {
      'Authorization': 'Basic ' + btoa(this.state.deviceSettings.userName + ":" + this.state.deviceSettings.password),
    }
  })

此外,您还需要了解mode: 'no-cors'的含义-如果请求的来源不同,则您将无法访问响应正文-因此,请不要按照注释中的代码读取响应(即{ 1}})-您将无法使用return response.json()

访问响应