Ionic App работает некорректно на устройствах Android - PullRequest
0 голосов
/ 30 августа 2018

В настоящее время я работаю в простом приложении в Ionic, которое извлекает данные из файла JSON и отображает их на экране. Когда я запускаю приложение в ionic serve / lab, приложение работает отлично, проблема возникает, когда я пытаюсь подражать ему или запускаю его на реальном телефоне.

Не работает на эмуляторе

Работа над ионной лабораторией / подача

Проблема, я думаю, может быть связана с отсутствием «Access-Control-Allow-Origin» или совместимостью с CORS, но я не знаю, что делать, чтобы это исправить, поэтому буду признателен за ваши знания в этом вопросе.

Это мой код для файла .ts:

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';

export class Page4Page {

  datalamp: Array<any> = [];
  datosarr: Array<any> = [];

  constructor(public navCtrl: NavController, public navParams: NavParams, private http: Http) {}

  ionViewDidLoad() {
    this.getdata();
    console.log('ionViewDidLoad Page4Page');
  }

  getdata() {
this.http.get('http://caidalibre.000webhostapp.com/data3.json')
  .map((res) => res.json())
  .subscribe(data => {
    this.datalamp = data;
    console.log(this.datalamp)
    this.getlastdata();
  })
  }
  getlastdata() {

    this.datosarr.length = 0;
    console.log(this.datosarr)
    let lastdata = this.datalamp.slice(-1)[0]
    let lasttemp = JSON.parse(lastdata.temperatura);
    let lasthum = JSON.parse(lastdata.humedad_relativa);
    let lastintesidad = JSON.parse(lastdata.intensidad_luminosa);
    let lastbateria = JSON.parse(lastdata.bateria);
    let lastvoltaje = JSON.parse(lastdata.voltaje_panel);
    this.datosarr.push(lasttemp, lasthum, lastintesidad, lastbateria, lastvoltaje)
    console.log(this.datosarr)

  }
}

и для файла HTML:

<ion-content padding> <ion-item *ngFor="let dat of datosarr"> <p>{{datosarr}}</p> </ion-item> </ion-content>

1 Ответ

0 голосов
/ 31 августа 2018

Попробуйте добавить это в вас config.xml

<allow-navigation href="http://ionic.local/*" />

EDIT: Попробуйте добавить это:

<allow-intent href="*"/>
<allow-navigation href="http://*/*" />

Не забудьте удалить платформу и добавить ее снова.

...