2017-07-16 80 views
1

響應對象我使用ionic2,並利用我'HTTP POST請求得到webservice的數據和返回的數據是:如何消耗ionic2

響應{_body:「{」狀態「: {「list all categories」:[{「id」:9,「name_en ... 18}],」message「:[」All categories。「],」version「:27}}」,status:200,ok:true ,狀態文本: 「OK」,頁眉:頁眉...} 頭 : 頭 OK : 真正 狀態 :狀態文本 : 「OK」 類型 : URL : 「http://safe-pay.co/safepay/public/api/user」 _body : 「{」 狀態 「:{」 列表中的所有類別 「:[{」 ID 「:9」,name_en「: 「電信」, 「name_ar」: 「\ u0627 \ u062a \ u0635 \ u0627 \ u0644 \ u0627 \ u062a」, 「圖像」:「http://safe-pay.co/safepay/public/uploadedimg/categories/5937ec7b75164。 PNG「,」description「:」Telecom「,」cat_enet_id「:1},{」id「:7,」name_en「:」Online Vouchers「,」name_ar「:」\ u0628 \ u0637 \ u0627 \ u0642 \ u0627 \ u062a \ u062a \ u0633 \ u0648 \ u0642 \ u0639 \ u0628 \ u0631 \ u0627 \ u0644 \ u0627 \ u0646 \ u062a \ u0631 \ u0646 \ u062a「,」圖片「:」http://safe-pay.co/safepay/ public/uploadedimg/categories/5937f109a226b.png「,」description「:」Online Voucher「,」cat_enet_id「:5},{」id「:8,」name_en「:」電視頻道「,」name_ar「:」\ u0645 \ u062d \ u0637 \ u062a \ u062a \ u0644 \ u0641 \ u0632 \ u064a \ u0644 \ u0646 \ u064a \ u0629「,」圖片「:」http://safe-pay.co/safepay/public/uploadedimg/categories/5937ecb48cef3。 PNG「,」description「:」電視頻道「,」cat_enet_id「:6},{」id「:10,」name_en「:」數字遊戲「,」name_ar「:」\ u0627 \ u0644 \ u0639 \ u0627 \ u0628 \ u0627 \ u0646 \ u062a \ u0631 \ u0646 \ u062a」, 「形象」: 「http://safe-pay.co/safepay/public/uploadedimg/categories/5937eccc27ce8.png」, 「說明」: 「遊戲」, 「cat_enet_id」:17},{「id」:11,「name_en」:「Entertainment」,「name_ar」:「\ u0627 \ u0644 \ u062a \ u0631 \ u0641 \ u064a \ u0647 \ u0644 \ u0644 \ u0623 \ u0637 \ u0641 \ u0627 \ u0644" , 「圖像」: 「http://safe-pay.co/safepay/public/uploadedimg/categories/5937f5ae9​​7fe6.png」, 「描述」: 「遊戲」, 「cat_enet_id」:18}] , 「消息」:[ 「全部類別。」], 「版本」:27}}」 : 體

這是功能:

getCategories() { 
let objData = {"Data":{ 
     "action": "CATEGORIES", 
     "lang": "AR" 
    }, 
    "Request": { 

    } 
} 

var headers = new Headers(); 
headers.append('Content-Type', 'application/json'); 

this.http.post(this.userUrl, objData, {headers:headers}) 
    .subscribe(data => { 
     this.categories = data 
     console.log("categories array ",this.categories," data ",Promise.resolve(data)); 
    }, error => { 
     console.log("Oooops! ",error); 
    }); 
} 

我怎樣才能從數組

回答

0

你應該將其映射到json()格式的數據

this.http.post(this.userUrl, objData, {headers:headers}) 
     .map(response=><T>response.json()) 
     ... 

注:導入地圖運營商要求可以從

import 'rxjs/add/operator/map'; 

T您想要轉換json()的類型。

+0

謝謝,我忘了用.map –

+0

@ Al-shimaaAdel樂意幫助你。 :)需要更多幫助或清楚嗎? – Aravind

+0

非常感謝,我得到了我想要的數據:(5)[對象,對象,對象,對象,對象]但如果我在提供程序中訂閱數據不會發現其他如果我訂閱頁面我進入無限請求循環 –