Я создал сервис в Angular 6, который отлично работает на ngOnInit через подписку, но как только я пытаюсь получить ответ через событие function / click, я получаю следующую ошибку.
ОШИБКА DOMException: не удалось задать свойство responseType для XMLHttpRequest: тип ответа нельзя изменить для синхронных запросов, сделанных из документа.
Я подозреваю, что я делаю что-то глупое - данные возвращаются нормально в вызове .Then, поэтому я исключаю конфигурацию сервера и до сих пор работаю с теорией углов, так что публикация здесь на случай, если это что-то очевидно очевидное кому-то с большим опытом.
localhost работает нормально, но когда я собираю / перемещаю код на сервер, появляется ошибка - есть идеи?
С уважением
Rachel
Сервис
export class GetVehicleResultsService {
url = 'SOME_URL';
constructor(private http: HttpClient) {}
getVehicles() {
return this
.http
.get<Vehicle>(`${this.url}`, {
responseType: 'json',
params: {
keyword: '*'
}
});
}
}
Компонент
ngOnInit() {
this
.getVehicleResultsService
.getVehicles()
.subscribe(
vehicles => {
this.vehicles = vehicles.response.docs;
this.facets = vehicles.facet_counts.vcj_facet_fields;
});
}
// this call works and consoles the data
test() {
fetch('SOME_URL')
.then(response => response.json())
.then(json => console.log(json));
}
// this doesn't work
test() {
this
.getVehicleResultsService
.getVehicles()
.subscribe(
vehicles => {
this.vehicles = vehicles.response.docs;
this.facets = vehicles.facet_counts.vcj_facet_fields;
});
}