Я обнаружил странную проблему: когда я получаю данные в Angular из бэкэнда через API данных (oatpp 1.0), он сообщает об ошибке «Нет Access-Control-Allow-Origin» », но следующий GET может работать, поэтому я сделал обходной путь, поставив бесполезный фиктивный GET, а затем следуя своему полезному GET, чтобы я мог получить данные. но я все еще задаюсь вопросом, почему 1-й GET провалился, я не думаю, что это проблема сервера данных API, потому что я тестировал с другими инструментами, такими как почтальон и http ie и 'JSON Viewer Awesome chrome extension' et c это всегда работает.
Кто-нибудь может мне помочь, спасибо!
Спасибо и С уважением, Мартин.
//in service
getDummy(): Observable<any>{
const url = `${this.BaseUrl}/repo/dummy`;
return this.http.get<any>(url);
}
getCatalog(): Observable<any> {
const url = `${this.BaseUrl}/repo/catalog`;
return this.http.get<any>(url);;
}
//in component
ngOnInit(): void {
this.subCatalog = this.data.getCatalog().subscribe(
catalog => {
this.dataSource.data = catalog;
// register click group node and accumulate nodes on the path
this.comm.pathClickSubject.pipe(
debounceTime(10)
).subscribe(
ps => {
console.log(ps); //use paths
this.pathNodes = [];
}
);
}, error => {
console.error(`getCatalog(): ${error.message}`);
}
);
this.subDmlOps = this.comm.dmlSubject.subscribe(
_ => {
this.subDummy = this.data.getDummy().subscribe(
catalog => {
console.log(`Detected db deletion, Dummy need refresh...`);
this.dataSource.data = catalog;
}, error => {
console.error(`getDummy(): ${error.message}`); //--> blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource
}
);
//this is the USEFUL GET with above dummy get ahead, it works
//if i remove the before dummy get, this GET will have the CORS error instead.
this.subCatalog = this.data.getCatalog().subscribe(
catalog => {
console.log(`Detected db deletion, Catalog need refresh...`);
this.dataSource.data = catalog;
}, error => {
console.error(`getCatalog(): ${error.message}`);
}
);
}
);
}