【发布时间】:2015-05-04 09:28:25
【问题描述】:
我正在使用 angularjs 和 cordova 工具来创建应用程序。
我创建了服务,其中包含调用 API 的代码。并且我想向我的角度控制器返回响应。
我的代码是, 服务,
JodoModule.factory('commonServices', function ($http, $q, $rootScope) {
return {
getServiceData: function (url) {
$rootScope.loading = true;
var deferred = $q.defer();
var req = {
method: 'GET',
url: url
}
$http(req).success(function (data) {
alert("data in service = " + JSON.stringify(data.Data));
deferred.resolve(data);
}).error(function (data, status, headers, config) {
deferred.reject(status);
});
return deferred.promise;
}
};
});
我的控制器是,
commonServices.getServiceData("My url").
success(function (data, status, headers, config) {
alert(data);
}).
error(function (data, status, headers, config) {
alert("Got error");
});
在上面的代码中,在服务中,它显示 JSON.stringify(data.Data)) 的 elert 消息;在成功块中,所以数据正在到来,但它没有执行 deferred.resolve(data);妥妥的……
在 Web 工具栏中出现错误,
ie. TypeError: undefined is not a function
我的 o/p 是:
{"status":"SUCCESS","Message":"success","Token":"","Data":[{"Id":17,"UserId":"477f1919-6b80-4804-a325-ac0cb05bcd3e","UserName":"honey","FirstName":"honey","LastName":null,"ProfilePic":false,"Status":2}]}
我该如何解决这个错误。 ?
【问题讨论】:
标签: angularjs cordova angularjs-scope angularjs-service angularjs-factory