2017-06-09 22 views
0

自分のマシンに「ionic serve」を使用すると、プロジェクトに埋め込まれたJSONファイルからJSONデータを抽出してデータを表示できました。 (これは私のMac上でイオンサーバーを使ってローカルで動作します) XCodeでIOS用にビルドした後に問題が発生しています。 生成したプロジェクトをXCodeにインポートします(以前は正常に実行されていました)が、XCodeで実行しているときや、自分のIPhoneで実行しているときにJSONが表示されなくなりました。Ionic 2、Xcode and JSON:JSONデータを表示できません

私はすべての最新バージョンを実行していて、Macで作業しています。

誰かが私が間違っているかもしれないか、私が逃していることを私に見せてもらえますか?

もう一度お手伝いをしてください!

私は以下の私のコードのスニペットを含めています:問題は、JSONファイルの場所を指していた

**src/assets/data/kjv.json** 
JSON file location 

**src/providers/my-data/my-data.ts:** 
import { Injectable } from '@angular/core'; 
import { Http } from '@angular/http'; 
import 'rxjs/add/operator/map'; 

@Injectable() 
export class MyData { 

    constructor(public http: Http) { 
    } 

    getLocalData(){ 
     return this.http.get('../../assets/data/kjv.json'); 
    } 

} 

**src/pages/home/home.ts:** 
import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { MyData } from '../../providers/my-data/my-data'; 
import { ChaptersPage } from '../chapters/chapters'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html' 
}) 

export class HomePage { 

    items: any; 

    constructor(public navCtrl: NavController, public myService: MyData) { 
    } 

    ionViewDidLoad(){ 
     this.myService.getLocalData().map(res => res.json()).subscribe(data   => { 
     this.items = data; 
     }); 
    } 

    nextPage(bookNo){ 
     localStorage.setItem('bookNumber', bookNo); 
     this.navCtrl.push(ChaptersPage); 
    } 

} 

**src/app/app.module.ts:** 
import { NgModule, ErrorHandler } from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { HttpModule } from '@angular/http'; 
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular'; 
import { MyApp } from './app.component'; 

import { AboutPage } from '../pages/about/about'; 
import { ContactPage } from '../pages/contact/contact'; 
import { HomePage } from '../pages/home/home'; 
import { ChaptersPage } from '../pages/chapters/chapters'; 
import { VersesPage } from '../pages/verses/verses'; 
import { TabsPage } from '../pages/tabs/tabs'; 

import { StatusBar } from '@ionic-native/status-bar'; 
import { SplashScreen } from '@ionic-native/splash-screen'; 
import { MyData } from '../providers/my-data/my-data'; 

    @NgModule({ 
     declarations: [ 
     MyApp, 
     AboutPage, 
     ContactPage, 
     HomePage, 
     ChaptersPage, 
     VersesPage, 
     TabsPage 
     ], 
     imports: [ 
     BrowserModule, 
     IonicModule.forRoot(MyApp), 
     HttpModule 
     ], 
     bootstrap: [IonicApp], 
     entryComponents: [ 
     MyApp, 
     AboutPage, 
     ContactPage, 
     HomePage, 
     ChaptersPage, 
     VersesPage, 
     TabsPage 
     ], 
     providers: [ 
     StatusBar, 
     SplashScreen, 
     {provide: ErrorHandler, useClass: IonicErrorHandler}, 
     MyData 
     ] 
    }) 
export class AppModule {} 

答えて

0

。 これは私の問題を解決しました:

this.http.get( '../../ assets/data/kjv.json');

に変更し、

this.http.get( 'アセット/データ/ kjv.json')。

イオンフォーラムからのnuttlooseのおかげで...

関連する問題