Comments (5)
@andreliem Thanks for your suggestion actually context was available using this
(Like this.store) but it was inconsistent with other use cases, so I've made context available as second argument (In 4.2.1) (docs).
Anyway, i agree with you. writing logic in the config is not a good idea, using middleware (Or plugins) is much better.
from axios-module.
I'm using auth module
export default function ({ $axios, store, redirect }) {
$axios.onError((error) => {
const code = parseInt(error.response && error.response.status)
if (code === 503) {
redirect('/maintenance')
}
if (code === 403) {
redirect('/404')
}
if (code === 401) {
store.$auth.logOut()
}
})
}
I added this in axios plugin work fine looking for better practice.
from axios-module.
I also tried using the errorHandler
function to detect 401, which is working... but it seems like the store
is not accessible from this function.
from axios-module.
Oh actually using middleware on its own without interceptors proved to be a good solution for me.
In case anyone is curious, I'm trying to set the session state of a user in the store before components load as I want specific components to hide/show content based on the store. Just redirecting to a login page isn't the UX I was looking to do.
export default async function ({ store }) {
const authenticatedUser = await store.dispatch('authCheck')
if (authenticatedUser) {
store.dispatch('loginUser', authenticatedUser)
} else {
store.dispatch('logoutUser')
}
}
from axios-module.
Thanks @pi0. Good to know there is the context available for 4.2.1 in the error handler, I actually think it's a pretty decent location to have logic which dispatches actions to the store when errors like session expiry occur... as opposed to having each component handle the error or through some global mixin perhaps.
from axios-module.
Related Issues (20)
- Problem with ssr Cors then axios and proxy
- filename.split error on nuxt generate and ssr HOT 2
- dont work on nuxt rc.6
- Cannot send cookies through server side
- Update to latest axios HOT 5
- Export `NuxtAxiosInstance` typings HOT 3
- Why does nuxtjs/axios trigger options requests
- diferrent url in nuxt 3
- Nuxt 3: Cannot start nuxt: Cannot read properties of undefined (reading 'options') HOT 3
- Nuxt3, how to fix this error HOT 2
- [Nuxt 2] defu__WEBPACK_IMPORTED_MODULE_3__ is not a function
- Is this repo still maintained & any plans to upgrade to axios v1.* ? HOT 2
- Status code is not returned for 413 responses HOT 1
- Last part of url getting removed during request
- Cannot restart nuxt: Cannot read properties of undefined (reading 'options') HOT 1
- nuxt/axios this.$axios.get() options doesn't seem to work
- Authorization header is not being set with Auth Module cookie strategy
- Release with latest axios HOT 1
- node_modules\vue-server-renderer\build.dev.js
- Security issue: Uses a vulnerable version of Axios
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from axios-module.