2016-04-22 43 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');