Я получаю эту ошибку, когда в angular 5 пытаюсь использовать метод отдыха (post):
Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Origin 'http://localhost:4200', следовательно, не разрешен доступ.
Это услуга:
import {Injectable} from '@angular/core';
import {HttpClient, HttpHeaders} from '@angular/common/http';
import {Observable} from 'rxjs/Rx';
@Injectable()
export class ImageProvider{
public url: string;
constructor( public http: HttpClient){
this.url='https://api.flickr.com/services/feeds/photos_public.gne?format=json&nojsoncallback=1&tags=?';
}
getImages(): Observable<any>{
let params = 'format=json&nojsoncallback=1&tags=?';
let headers = new HttpHeaders().set('Content-Type','application/x-www-form-urlencoded');
return this.http.post(this.url+'productos', params, {headers: headers});
}
}
и это компонент
import { Component, OnInit } from '@angular/core';
import {ImageProvider} from '../../services/imageProvider';
@Component({
selector: 'app-carousel',
templateUrl: './carousel.component.html',
styleUrls: ['./carousel.component.css']
})
export class CarouselComponent implements OnInit {
public responseFlirck
constructor(private _imageProvider: ImageProvider) { }
ngOnInit() {
this.getImagesFromFlirk();
}
getImagesFromFlirk(){
this._imageProvider.getImages().subscribe(
result => {
this.responseFlirck = result.data;
},
error => {
console.log('Error in post');
console.log(error);
}
);
}
}
Однако в мыльном интерфейсе работает нормально:
Может кто-нибудь исправить мой код?
Большое спасибо!