我使用Angular 2將數據發佈到返回XML響應的URL,我想將數據轉換爲JSON,因此我使用的是xml2js。使用observables訂閱的Angular2 HTTP POST顯示數據爲'undefined'
轉換髮生得很好,但'訂閱'塊中未定義'data'。請糾正我,如果我擰,我猜,因爲xml2js是一個異步操作,'數據'是未定義的。那麼,如何處理承諾情況的承諾並正確返回轉換後的JSON數據呢? 代碼如下:
this.http.post(this._yourUrl, formdata.toString(), options)
.map(res => {
xml2js.parseString(res.text(), function (err, result) {
console.dir(result); // Prints JSON object!
return result;
});
})
.subscribe(data => {
console.log(data);
});
任何幫助,非常感謝。謝謝!
嘗試加入了一回'回報xml2js.parseString ...'或從地圖拉姆達方法 – CriPstian
CriPstian去掉括號,我已經嘗試添加一個返回到xml2js.parseString,它返回一個SAXParser對象。去除大括號會導致編譯錯誤。 – Malick