2017-06-02 133 views
0

我在從我的laravel服務器獲取數據時遇到問題。訪問控制允許Angular 2 http服務中的Origin問題

這是客戶端代碼:

private surveysUrl = 
'http://107.170.59.79/services/public/api/v1/countries'; 
private headers = new Headers({'Content-Type': 'application/json'}); 

constructor(private http: Http) { } 

getSurveys(): Promise<Survey[]> { 
return this.http.get(this.surveysUrl) 
    .toPromise() 
    .then(response => response.json() as Survey[]) 
    .catch(this.handleError); 
} 

但我接收作爲誤差爲:

的XMLHttpRequest不能加載 {{聯繫在變量 「surveysUrl」 設定}}。 'Access-Control- 允許來源'標頭的值爲{{一些隨機鏈接}},它不等於提供的原點 。原因'http://localhost:4200'因此是 不允許訪問。

我該如何解決這個錯誤?

PS:我不允許發佈兩個以上的鏈接,所以我不得不從鏈接中刪除錯誤信息。我已用{{}}替換它以使其可讀。

+2

[如何在Angular 2中創建啓用CORS的HTTP請求?](https://stackoverflow.com/questions/36768418/how-to-make-cors-enabled-http-requests-in-angular -2) – echonax

+0

只有* http://49.248.126.222:8282/*具有訪問權限,您需要將其更改爲允許您的本地主機,或者全部允許。這必須在服務器端完成,而不是像以下問的那樣。 – Alex

+1

謝謝@ AJT_82。我會做出改變。 – RunSmeagolRun

回答

2

如果您使用的是Apache,那麼你需要允許起源接入即

Header set Access-Control-Allow-Origin "*" 

包括這.htaccess文件。

+0

感謝您的建議,但請允許我告訴我是否可以從Angular處理它。 – RunSmeagolRun

+0

嗨@RumSmeagolRun這是在服務器端要做的事情。 (即爲您創建API端點的人) –

相關問題