Kiedy instancji Vuejs (2.2.6) i Vue-zasobu (1.2.1), ustawić zezwolenia nagłówka z następującego kodu, w ten sposób mogę autoryzować wszystkie żądania do mojego API:VueJs i VueResource, usuwając z pola nagłówka żądania Ajax
Vue.http.headers.common.AUTHORIZATION = 'BEARER ...';
jednak chcę złożyć wniosek o trzeciej partii API, a nie chcę pole Authorization
powinna być wysłana. Ponadto ten interfejs API nie pozwala na użycie tego nagłówka autoryzacji.
let CEP = '';
this.$http.get('https://viacep.com.br/ws/' + CEP + '/json')
.then(response => {
console.log(response.headers);
});
ten sposób pole autoryzacji jest wysyłany z nagłówkiem, na Access-Control-request-headers:
Starałem się usunąć niektóre pola nagłówka z poniższych kodów, bezskutecznie.
this.$http.headers.common.AUTHORIZATION = null;
this.$http.headers.common['Access-Control-Allow-Headers'] = null;
this.$http.get('https://viacep.com.br/ws/' + CEP + '/json')
.then(response => {
console.log(response.headers);
});
W dokumentacji vue-resource
, istnieje możliwość wstawiania obiektu, aby wymusić konfigurację żądanie, ale dokumentacja nie jest kompletna.
this.$http.get('https://viacep.com.br/ws/' + CEP + '/json', {
...here...
}).then(response => {
console.log(response.headers);
});
Czy istnieje jakiś sposób, aby usunąć autoryzacji pole lub jakiegokolwiek innego pola z danym wnioskiem?
Dzięki.
* AKTUALIZACJA *
Używając przechwytujących (jak w poniższym przykładzie) mogę edytować żądanie ale nie mogę usunąć szczególna dziedzina.
Vue.http.interceptors.push((request, next) => {
const viacep = request.url.includes('viacep.com.br');
if (viacep) {
request.headers.set('AUTHORIZATION', 'TRY THIS');
}
next(response => {});
});
spróbuj usunąć:
Vue.http.interceptors.push((request, next) => {
const viacep = request.url.includes('viacep.com.br');
if (viacep) {
request.headers.delete('AUTHORIZATION');
}
next(response => {});
});
To niewiarygodne, mogę ustawić/zmodyfikować, ale nie mogę usunąć! –
@ThiagoPereira Myślę, że może dlatego, że przypisałeś je do '.common'. Czy możesz * nie * to zrobić i po prostu przypisać je tak jak powyżej? – Bert
Wewnętrzny przechwytujący 'request.headers.common' jest' niezdefiniowany', używam przykładu, kiedy próbuję usunąć token, nic się nie dzieje. Proszę zobaczyć powyższe wydruki. Twoje zdanie jest błędne: 'Vue.http.headers.common.AUTHORIZATION = 'Nosiciel: ...';' –