在我的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))
答案 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()