2016-07-30 5 views
0

こんにちは、this RSSフィードからhttpリクエストを作成しようとしています。私はhtmlページに{{posts}}を使用する場合Ionic2 httpリクエスト。 XMLからjsonへ?

makeRequest() { this.http.get('http://www.gazetaexpress.com/rss/auto-tech/?xml=1') .subscribe(data => { this.posts = data; console.log("request funktioniert"); }, error => { console.log(JSON.stringify(error.json())); }); }

それが返されます:私はこれを試してみました

Response with status: 200 OK for URL: http://m.gazetaexpress.com/mobile/rss/auto-tech/?xml=1

使用して{{ポスト| json}}それはHTMLページ全体を返します。最初の行の代わりに

this.http.get('http://www.gazetaexpress.com/rss/ballina/?xml=1').map(res => res.json()) 

が、それはエラーを返しました:私は使用してみました

TypeError: error.json is not a function

私を助けてください:D

EDIT

私はxml2jsライブラリをインポート入力し、tsファイルにインポートします。

import * as xml2js from "xml2js" 

とする要求を変更:

EDIT 2

オーケー...コンソールはundefinedを返します

makeRequest() { 
this.http.get('http://www.gazetaexpress.com/rss/auto-tech/?xml=1').subscribe(data => { 
    this.posts = data; 
    xml2js.parseString(this.posts, function (err, result) { 
     console.log(result); 
    }); 
}, error => { 
    console.log(JSON.stringify(error.json())); 
}); 

}

私はこの問題を修正プログラムに含まれます。私はちょうど穴の文字列を取って、ノード構造を使用し、this.posts.replace(/\\t|\\n|\\r/gi, "");を使用してエスケープされた文字を取り除くためにそれを切り取った。確かに、この問題に取り組んでいる良いライブラリが必要です。私のコードはかなり悪いです;)。私は後でこのコードを見落とし、それはうまくいっていて大丈夫です。より良いアイデアがあれば、私に教えてください:

答えて

0

ステータス200 OKの応答を受け取ったら、httpリクエストをしているウェブサイトで注文した通りの結果を表示できるはずです。

サブスクリプション時にデータを取得し、htmlコードでasnycパイプを使用すると、トリックを行うようにしてください。

関連する問題