Angular2 http get restfull api 请求不工作

Angular2 http get restfull api request not working

我刚刚进入 angular2 并且 运行 遇到了一个我不知道如何解决的问题。我试图从 restfull api 中获取一些数据,一切正常。问题是当我尝试另一个 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 它总是进入错误状态。 (对象 {_body=事件错误,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));
    });
  }

我是不是漏了什么?

我可能已经自己解决了。

我通过 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');