axios正在创建或重定向到此奇怪的URL。我不知道怎么回事。我还检查了此处可用的其他解决方案,但没有帮助。
我还使用公共api网址进行了检查,但它已重定向到相同的网址。
我正在从https://d52890213a1f40e2b2XXXXXXX5ab4e.vfs.cloud9.ap-southeast-1.amazonaws.com:8081/teachers
axios方法:
export function apiCall(method, url, data) {
console.log(method, url, data)
debugger
return axios[method]({
url,
params: { origin: "*" },
data
})
.then(res => {
console.log(res);
return res.data;
})
.catch((err) => {
if (err.response) {
// debugger
return Promise.reject(err.response.data);
}
else if (err.request) {
// debugger
return Promise.reject(err);
}
else {
// debugger
return Promise.reject(err);
}
});
}
控制台输出
get https://d52890213a1f40e2b2XXXXXXX5ab4e.vfs.cloud9.ap-southeast-1.amazonaws.com:8080/api/questionset undefined
调用功能
componentDidMount(){
apiCall('get', `${process.env.REACT_APP_BASE_URL}/api/questionset`)
// apiCall('get', `https://randomuser.me/api/`, undefined)
.then(data =>{
console.log(data);
if(!data.success){
throw Error(data.message);
}
else{
this.setState({
isLoading: false,
questionSets: data.questionSets
})
}
})
.catch(err=>{
debugger
console.log(err);
this.setState({
isLoading: false
})
return this.props.addError(err.message)
});
}
错误:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /teachers/[object%20Object]</pre>
</body>
</html>
答案 0 :(得分:0)
如何尝试使用Promise?
export function apiCall(method, url, data) {
return new Promise((resolve, reject) =>
axios({
method,
url,
params: { origin: "*" },
data
})
.then(res => {
resolve(res.data)
})
.catch((err) => {
if (err.response) {
// debugger
reject(err.response.data);
}
else if (err.request) {
// debugger
reject(err);
}
else {
// debugger
reject(err);
}
})
)
}