我正在尝试使用 $http 的 Angular 的 transformResponse 方面将 XML 数据转换为 JSON。结果对象为空,我不知道为什么。
这是服务中的 $http 请求:
myApp.service('dataSource', function ($http) { // gets the XML data, turns it into JSON
this.getData = function(callback) {
$http.get('http://localhost:1337/testXML.xml', {transformResponse: function (data) {
var json = x2js.xml_str2json(data);
return json;
}
}
).
success(function (data) {
callback(data);
}).
error (function () {
alert("HTTP error.");
});
}
});
回调函数在控制器中定义,该控制器位于单独的文件中。这是代码:
// callback function
setData = function(data) {
$scope.dataJSON = data;
}
dataSource.getData(setData);
所以调用 $http 返回的变量 'json' 是未定义的。我尝试了多种不同的变压器,但没有成功。谁能发现我的问题?
谢谢!