由于令牌过期,api会给出401 Unauthorized错误。
即使错误状态代码(401)在axios拦截器中不可用。
inputFileName="$1"
matchFile="$2"
outputFile="$3"
matchFileIds=$(cat $matchFile);
echo "$matchFileIds"
for IDS in $(cat $inputFileName);
do
for i in $(echo $IDS | sed "s/,/ /g")
do
# here we get each id in inputfile separately,
# I want to check if $i belongs id in matcherFile
echo "$i"
done
done
我有什么方法可以得到它,下面github issue说 error.response.status 可以使用,但 error.response未定义我
Http错误: 无法加载http://localhost:5000/api/user:请求的资源上没有“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:2323”访问。响应的HTTP状态代码为401。
来自intercepter response.use 的Console.log(错误) 错误:网络错误 at createError(createError.js:16) 在XMLHttpRequest.handleError(xhr.js:87)
答案 0 :(得分:0)
这是我的axios错误处理程序代码。它运行。 如果需要,可以删除吐司代码。
import axios from 'axios'
import toast from './toast'
import store from '../../store'
// apply interceptor on response
axios.interceptors.response.use(function (response) {
if (response.status === 200 && response.data.message) {
toast.success(response.data.message)
}
if (response.status === 201 && response.data.message) {
toast.success(response.data.message)
}
return response
}, function (error) {
// Do something with response error
// check for errorHandle config
// if has response show the error
if (error.response) {
if (error.response.status === 404 || error.response.status === 400) {
toast.error(error.response.data.message)
}
if (error.response.status === 401) {
// if you ever get an unauthorized, logout the user
store.dispatch('logout')
// you can also redirect to /login if needed !
}
}
return Promise.reject(error)
})