2017-11-24 3 views
0

ich Setup versuche vuejs http Abfangjäger, aber sie arbeiten nicht.Vuejs http Abfangjäger nicht

Vue.use(VueResource) 
Vue.http.options.root = 'http://127.0.0.1:8000/api' //this works 

Vue.http.interceptors.push({ 
    request: (request) => { 
    console.log("we have a request") 
    return request 
    }, 
    response: (response) => { 
    console.log('we got a response', response) 
    return response 
    }, 
    error: (err) => { 
    console.log('error is', err) 
    } 
}) 

Jetzt in meinen Komponenten

this.$http.get('user/profile/') 

die Abfangjäger nicht console.log

Wo ich falsch gehe?

Antwort

2

Sie haben die Interzeptoren nicht richtig konfiguriert, Sie sollten eine Funktion mit 2 Argumenten request und next drücken.

Vue.use(VueResource) 
Vue.http.options.root = 'http://127.0.0.1:8000/api' //this works 

Vue.http.interceptors.push(function (request, next) { 
    console.log(request) 
    request.headers.set('Authorization', 'Bearer ' + sessionStorage.getItem('token')) 
    next() 
}) 

Vue.http.interceptors.push(function (request, next) { 
    next(function (response) { 
    console.log(response) 
    if (response.status === 401) { 
     // handle error or logout 
     return response 
    } 
    }) 
}) 
+0

danke dies funktioniert jetzt –

+0

Sicher. Sie können als Antwort abhaken, damit jeder weiß, dass es funktioniert – akinjide

+0

wird sicherlich dies tun. –