Я использую 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)); в блоке успеха, поэтому данные поступают, но не выполняются deferred.resolve(data); правильно...
в веб-панели инструментов выдает ошибку ie. TypeError: undefined is not a function
Мой О/П:
{"status":"SUCCESS","Message":"success","Token":"","Data":[{"Id":17,"UserId":"477f1919-6b80-4804-a325-ac0cb05bcd3e","UserName":"honey","FirstName":"honey","LastName":null,"ProfilePic":false,"Status":2}]}
Как я могу решить эту ошибку. ?