Как исправить API, не возвращая данные - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь прочитать данные о погоде и отобразить их в своем home.html. Я чувствую, что все сделал правильно, и не понимаю, в чем проблема ... Надеюсь, один из вас может указать мне правильноенаправление!спасибо за ваше время.

Я пытаюсь прочитать данные json из URL-адреса и вывести их на экран, но я не получаю никакого вывода ... Эти фрагменты кода ясно иллюстрируют то, что я пытаюсь сделать

в моем провайдере weather.ts у меня есть:

 getWeather():Observable<any>{
    return this.http.get('http://api.apixu.com/v1/forecast.json?key=3a1385634ea148c0b5b175621192204%20&q=52.970490%20-9.419951');
  }
}

в моем home.html У меня есть:

 <ion-item *ngFor="let w of weather">
          <h2>{{w.condition.text}}</h2>
          <ion-img height='200' width='150' src="{{w.condition.icon}}"></ion-img>
    </ion-item>

, и у меня есть следующеекод в моем home.ts

export class HomePage {
  weather:any = [];

  constructor(public navCtrl: NavController, private weatherProvider:WeatherProvider) {

  }
    ionWeatherViewDidLoad(){
      this.weatherProvider.getWeather().subscribe((data)=>{
          this.weather = data.current;
          console.log(this.weather);
      });
    }
  }

Я ожидаю увидеть вывод в виде текста, который отображает текущую погоду, а также изображение, которое также показывает состояние погоды ... Я считаю, что проблема заключается вфайл json не читается моим приложением должным образом ... Любая помощь приветствуется, спасибо!

Кроме того, вот ссылка, которая показывает, как выглядит файл json, который я пытаюсь проанализировать, https://gyazo.com/12dd0045c522c4e98bc8e8354e60b7a4

1 Ответ

0 голосов
/ 24 апреля 2019

услуга, т.с.

getWeather(): Observable<any> {
    return this.http.get("http://api.apixu.com/v1/forecast.json?key=3a1385634ea148c0b5b175621192204%20&q=52.970490%20-9.419951").pipe(res => {
      return res;
    });
  }

твой тс

 ngOnInit() {

    const weather = this.weatherProvider.getWeather();
    weather.subscribe(
    subscribe(
          (Response  => {
                           this.cDetail = Response;
                           console.log("apI", this.cDetail)
                         })
                         // success

          .catch(error => { console.log(error) }); // fail

 });

Я думаю, что это будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...