當我嘗試從鏈接(php服務器)檢索對象列表時出現錯誤。多來源請求的錯誤HTTP GET對象列表
阻斷(跨來源請求):「相同 源」策略不允許訪問位於 HTTP遠程資源://localhost/eReport/index.php。原因: CORS中缺少「訪問控制授權源」令牌 「Access-Control-Allow-Headers」CORS頭。
我在這個鏈接上添加了一個像這個tuto這樣的標題,但我仍然有這個錯誤。
你能幫助我嗎?
我的服務頁面:
@Injectable()
export class ReportService{
private baseUrl: string = 'http://localhost/report/reports.php';
constructor(private http : Http){}
getAll(): Observable<Report[]>{
let report$ = this.http
.get(`${this.baseUrl}`, { headers: this.getHeaders()})
.map(mapReports);
return report$;
}
private getHeaders(){
// I included these headers because otherwise FireFox
// will request text/html
let headers = new Headers();
headers.append('Accept', 'application/json');
headers.append('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');
return headers;
}
get(id: number): Observable<Report> {
let report$ = this.http
.get(`${this.baseUrl}/report/${id}`, {headers: this.getHeaders()})
.map(mapReport);
return report$;
}
我的PHP頁面
header("Access-Control-Allow-Origin: *");
$tab = array(
array('id'=> '12', 'name'=> 'test','description' => '2018-04-01','url'=>'../../../assets/img/chat1.png'),
array('id'=> '13', 'name'=> 'test','description' => '2018-04-01','url'=>'../../../assets/img/highcharts.png')
);
echo json_encode($tab);
?>
你得到什麼樣的錯誤? – ivanasetiawan
阻止多源請求(跨源請求):「相同源」策略不允許訪問位於http://localhost/eReport/index.php的遠程資源。原因:CORS「Access-Control-Allow-Headers」CORS頭中缺少「Access-control-authorization-origin」令牌。 – Yago
這是來自你的服務器端,你需要在那裏允許跨不同域的請求 –