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');
我刚刚进入 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');