我刚刚进入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 =事件错误,状态= 200,statusText ="确定",...})
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 :(得分: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');