2016-07-06 99 views
0

我正在使用Angular 2創建一個網頁。當網頁加載完畢後,我用的OnInit運行下面的方法(與通用名稱取代):嘗試使用http.get時出現Angular 2,localhost/null錯誤?

getAllObjects(): Promise<object[]>{ 
    return this.http.get(this.getAllObjectsUrl).toPromise().then(response => response.json().data).catch(this.handleError); 
} 

我在我的瀏覽器驗證了getAllObjects網址確實返回object JSON格式的數組。這裏是URL,如果它是有幫助的:

private getAllObjectsUrl : 'http://99.240.124.235:7060/REST/rest/companyService/getAllCompanies.json/'; 

然而,這種方法觸發的HandleError漁獲物和瀏覽器的調試日誌顯示GET localhost:3000/null 404 NOT FOUND(我使用的是新公共管理服務器來運行它,因此本地主機)。

我不相信這是一個CORS問題,因爲我下載了Chrome CORS插件和其他API調用。只有這個特定的API url導致了一個問題,我發現它很奇怪,因爲我的其他API調用可以工作,並且它們遵循完全相同的格式(除了不同的url)。

我想也許appComponent不允許OnInit,但我用另一個工作API調用getAllObjects()替換,我沒有收到此錯誤。

我完全被困住了,任何幫助將不勝感激(可能這個錯誤是因爲web API,而不是前端?)。因爲使用的是冒號(

回答

1

getAllObjectsUrl不包含鏈接:)代替等號(=)

科隆表示變量的類型,而等號初始化。

改變這種

private getAllObjectsUrl : 'http://99.240.124.235:7060/REST/rest/companyService/getAllCompanies.json/'; 

private getAllObjectsUrl = 'http://99.240.124.235:7060/REST/rest/companyService/getAllCompanies.json/'; 
+0

也就是說尷尬......我不知道爲什麼我用冒號爲這一個URL,或者我怎麼沒看到... 謝謝... – Yifan