2017-09-02 6 views
0

Avoir des problèmes avec Ionic obtenir des données à partir d'un fichier JSON via HTTP, je ne sais pas quel est le problème l'erreur est assez étrange.Obtenir des données JSON en utilisant Http dans Ionic 3

error message in chrome devtool

voici les codes:

src/pages/subhome/line/line.ts (Le Subhome contient quelques dossiers de pages)

import { Component } from '@angular/core'; 
 
import { IonicPage, NavController, NavParams } from 'ionic-angular'; 
 
import { Http } from '@angular/http'; 
 
import 'rxjs/add/operator/map'; 
 
/** 
 
* Generated class for the LinePage page. 
 
* 
 
* See http://ionicframework.com/docs/components/#navigation for more info 
 
* on Ionic pages and navigation. 
 
*/ 
 

 
@IonicPage() 
 
@Component({ 
 
    selector: 'page-line', 
 
    templateUrl: 'line.html', 
 
}) 
 
export class LinePage { 
 

 
    commands: any[] = [] 
 

 
    constructor(public navCtrl: NavController, public navParams: NavParams, private http: Http) { 
 
    this.http.get('line.json').map(res => res.json()).subscribe((data) => { 
 
     this.commands = data.json(); 
 
     console.log(this.commands); 
 
    }) 
 
    } 
 

 
    ionViewDidLoad() { 
 
    console.log('ionViewDidLoad LinePage'); 
 
    } 
 

 
}

et est ici le fichier JSON:

src/pages/subhome/line/line.json

{ 
 
\t "commands": [{ 
 
\t \t \t "title": "a", 
 
\t \t \t "desc": "b" 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "title": "a", 
 
\t \t \t "desc": "b" 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "title": "a", 
 
\t \t \t "desc": "b" 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "title": "a", 
 
\t \t \t "desc": "b" 
 
\t \t } 
 
\t ] 
 
}

Ce que je suis en train de faire est "exploitation forestière" JSON commandes à la console Merci d'avance!

Répondre

0

Les méthodes HTTP permettent d'appeler des serveurs distants. Pour autant que je sais que ces méthodes ne sont pas utilisés pour appeler un fichier au sein de votre application Pour transmettre des données entre les pages que vous pouvez utiliser quelque chose comme ça this.navController.push(SecondPage, { param1: 'firstname', param2: 'lastname' });

voir tutoriel here

Si ce sont des données JSON que vous voulez d'accès, pensez à la stocker dans une variable ou vous pouvez utiliser le stockage local comme ci-dessous

this.storage.set('myData', data); 

ne pas oublier d'importer et d'injecter

import { Storage } from '@ionic/storage'; 
constructor (public storage: Storage){} 
0

déplacer votre fichier JSON dans le dossier actif, et appelez via

this.http.get('assets/line.json')