2016-04-22 2 views
0

Я только что попал в angular2 и столкнулся с проблемой, я не вижу, как я могу это исправить. Я пытался получить некоторые данные из restfull api, и все это работало отлично. Проблема заключалась в том, что, когда я пробовал еще один restfull api, точно так же, как тест, он не получал бы мне данные.Angular2 http get restfull 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)); 
    }); 
    } 

Но вызов этого апи не сделал: http://gokhankaradas.com/wp-json/posts всегда идет в состояние ошибки. (Object {_body = Ошибка события, состояние = 200, = его статуса "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

Ну, я вернусь к объекту с ошибкой, но я не нашел в нем никакой полезной информации. Object {_body = Ошибка события, статус = 200, statusText = "Ok", ...} Когда я просматриваю объект, я не видел никакой полезной информации. Странно, что в этом статусе 200, а statusText - в порядке. – Ahzrael

ответ

0

Возможно, я решил это сам.

Я создал простой результат через laravel, список продуктов и просто выплюнул его в формате json, а затем протестировал его. Он также потерпел неудачу, как неудача api.

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

Затем я добавил следующий код route.php, и он сработал. Так что я догадываюсь, что api, который потерпел неудачу, не имел этого. Не слишком уверен в этом, но он, кажется, исправил мою проблему;)

header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE'); 
Смежные вопросы