我使用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