2016-04-22 77 views
0

我剛剛進入angular2並遇到了一個問題,我看不出我該如何修復。我試圖從restfull api獲取一些數據,並且所有的工作都很好。問題是,當我嘗試了另一個restfull api時,只是作爲一個測試,它不會得到我的數據。Angular2 http獲取restfull api請求不起作用

所以這個API的調用工作:http://jsonplaceholder.typicode.com/posts

works() { 
    return new Promise(resolve => { 
     this.http.get('http://jsonplaceholder.typicode.com/posts') 
     .map(res => res.json()) 
     .subscribe(data => { 
      this.data = data; 
      console.log(data); 
      resolve(this.data); 
     }, error => console.error(error)); 
    }); 
    } 

但是這個API的調用都沒有:http://gokhankaradas.com/wp-json/posts它總是轉到錯誤條件。 (Object {_body = Event error,status = 200,statusText =「Ok」,...})

doesNotWork() { 
    return new Promise(resolve => { 
     this.http.get('http://gokhankaradas.com/wp-json/posts') 
     .map(res => res.json()) 
     .subscribe(data => { 
      this.data = data; 
      console.log(data); 
      resolve(this.data); 
     }, error => console.error(error)); 
    }); 
    } 

我錯過了什麼嗎?

+0

你能發佈實際錯誤嗎? – kemsky

+0

那麼我確實找回了一個錯誤對象,但我沒有看到有用的信息。對象{_body = Event error,status = 200,statusText =「Ok」,...}當我瀏覽對象時,我看不到有用的信息。有什麼奇怪的是,它的狀態是200和statusText是好的。 – Ahzrael

回答

0

我可能自己解決它。

我通過laravel,一個產品列表創建了一個簡單的結果,然後以json格式將其吐出,然後對其進行測試。它也失敗了,如失敗的API。

public function test(Product $product){ 
    $products = $product->get(); 
    return Response::json($products, 200); 
} 

然後我將下面的代碼添加到routes.php中,它工作。所以我猜這個失敗的api沒有那個。不太確定,但它似乎解決了我的問題;)

header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE');