2017-11-28 6 views
0

私はしばらくこれを見つめていましたが、最終的に私のコードが "200 ok"を返すことに気付きました。レスポンスが実際のデータそのものではなく、それが私のイオンボタンを埋め込まない理由です。郵便配達員を介してAPIを呼び出してコンソールに印刷する際に、必要なデータが表示されているため、問題が.tsファイルのどこかにあると想定しています。データではなくAPIレスポンスを返す

以下

私のAPIコードです:

以下
app.get('/getAllProvs', function (req,res) { 
    //var id = req.params.id; 

    connection.query('SELECT * from Patient', function(err, rows, fields) { 
     if (!err){ 
      var response = []; 

      if (rows.length != 0) { 
       response.push({'result' : 'success', 'data' : rows}); 
      } else { 
       response.push({'result' : 'error', 'msg' : 'No Results Found'}); 
      } 

      res.setHeader('Content-Type', 'application/json'); 
      //res.status(200).send(JSON.stringify(rows)); 
      res.send(rows); 
      console.log(rows); 
     } else { 
      res.status(400).send(err); 
     } 
    }); 
}); 

は私のプロバイダ.TSコードです:

以下
export class RestService { 

data1: any; 
    constructor(public http: Http) { 
    console.log('Hello RestServiceProvider Provider'); 
    } 

    getAllProvs(){ 
     if(this.data1){ 
      return Promise.resolve(this.data1); 
     } 
     return new Promise(resolve => { 
      this.http.get('http://lndapp.wpi.edu:5000/getAllProvs') 
      .map(res => res.json()) 
      .subscribe(data => { 
       console.log("rest-services.ts subscribe"); 
       this.data1 = data; 
       console.log(data); 
       resolve(this.data1); 
      }); 
     }); 

    } 
} 

は私のページ.TSファイルです:

export class AllPatientsPage { 
    data1: any; 

    constructor(public app: App, public loadingCtrl: LoadingController, private toastCtrl: ToastController, public navCtrl: NavController, public restService: RestService){ 
    this.getAllProvs(); 
    } 
    } 
    getAllProvs(){ 
     this.restService.getAllProvs() 
     .then(data => { 
      console.log("all-patients.ts data"); 
      console.log(data); 
      this.data1 = data; 
     }).catch(e => { 
      console.log(e); 
     }); 
    } 
} 
+0

配列 'response'を作成しますが、決して使用しないでください。意図が何であるかはっきりしない。 'res.send(rows);' res.json(response); 'であるべきですか? – charlietfl

+0

はまだ問題を解決していません。コンソールはAPI server.jsレベルで正常に出力されています – Drew

+0

それを使用しない場合の 'response'は何ですか? – charlietfl

答えて

0

を送りますjsonあなたのサービスからの返信:

res.json(rows); 
関連する問題