Javascript 尝试获取api时出现Axios错误401(未经授权)错误 错误:请求失败,状态代码为401 在createError(createError.js:16) -结算时(结算js:17) 在XMLHttpRequest.handleLoad(xhr.js:62) import React,{Component}来自“React” 从“axios”导入axios; 类API扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 项目:[], MYTOKEN:“CQondiodwoidndjjajajejh.ndoqndnodnqodoqdiapoe89Wnwjwmalmql2mkkkmwk” }; } componentDidMount=(MYTOKEN)=>{ axios.get(`http://192.168.0.10:9000/getquestions`,{ 标题:{ “内容类型”:“应用程序/json”, “接受”:“应用程序/json”, “代币”:“持票人”+MYTOKEN }, }) 。然后(res=>{ console.log(“res”+res) }) .catch(e=>console.log(e)) } render(){ 返回( ); }; } 导出默认API;
您的代码存在一些问题Javascript 尝试获取api时出现Axios错误401(未经授权)错误 错误:请求失败,状态代码为401 在createError(createError.js:16) -结算时(结算js:17) 在XMLHttpRequest.handleLoad(xhr.js:62) import React,{Component}来自“React” 从“axios”导入axios; 类API扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 项目:[], MYTOKEN:“CQondiodwoidndjjajajejh.ndoqndnodnqodoqdiapoe89Wnwjwmalmql2mkkkmwk” }; } componentDidMount=(MYTOKEN)=>{ axios.get(`http://192.168.0.10:9000/getquestions`,{ 标题:{ “内容类型”:“应用程序/json”, “接受”:“应用程序/json”, “代币”:“持票人”+MYTOKEN }, }) 。然后(res=>{ console.log(“res”+res) }) .catch(e=>console.log(e)) } render(){ 返回( ); }; } 导出默认API;,javascript,reactjs,api,axios,postman,Javascript,Reactjs,Api,Axios,Postman,您的代码存在一些问题 componentDidMount方法不接收任何参数。因此,您必须从中获取令牌(假设您将令牌存储在其中)。您应该从组件状态中删除硬编码令牌 令牌应该在Authorization头中发送(您的代码在token中发送它,这就是API发送401 Unauthorized响应的原因)。而且承载体旁边应该有一个空格 授权:`Bearer${token}` 您不应该硬编码API URL。使用环境变量。如果您正在使用,您可以或您可以使用,如果您有一个自定义的网页设置 com
方法不接收任何参数。因此,您必须从中获取令牌(假设您将令牌存储在其中)。您应该从组件状态中删除硬编码令牌componentDidMount
- 令牌应该在
头中发送(您的代码在Authorization
中发送它,这就是API发送token
响应的原因)。而且401 Unauthorized
承载体旁边应该有一个空格
授权:`Bearer${token}`
- 您不应该硬编码API URL。使用环境变量。如果您正在使用,您可以或您可以使用,如果您有一个自定义的网页设置
componentDidMount=()=>{
const token=localStorage.getItem('token')//用正确的键替换token
如果(!令牌){
//不受理代币案件
返回
}
get(${process.env.API\u BASE\u URL}/getquestions`{
标题:{
“内容类型”:“应用程序/json”,
接受:'application/json',
授权:`Bearer${token}`,
},
})
}
import React, { Component } from 'react'
import axios from 'axios';
class QuestionAPI extends Component {
constructor(props) {
super(props);
this.state = {
items: [],
MYTOKEN: "cqondiodwoidndndjjajajejh.ndoqndnodnqodoqdiapoe89wnwjwmalmqql2mkKKMkmwk"
};
}
componentDidMount = (MYTOKEN) => {
axios.get(`http://192.168.0.10:9000/getquestions`,{
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
"token": 'Bearer' + MYTOKEN
},
})
.then(res => {
console.log("res" + res)
})
.catch(e => console.log(e))
}
render() {
return (
<div>
</div>
);
};
}
export default QuestionAPI;