#angularjs #ionic-framework
#angularjs #ionic-framework
Вопрос:
я пытался создать простое приложение на ionic с asp.net mvc rest framework.но я получаю
Cannot read property 'then' of undefined
ошибка.вот мой app.js код.кто-нибудь может помочь ..?.часть контроллера показывает ошибку
angular.module('starter', ['ionic', 'starter.controllers', ' starter.services'])
.constant('ApiEndpoint', {
url: 'http://localhost:49316/api'
})
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if (window.cordova amp;amp; window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
StatusBar.styleDefault();
}
});
})
angular.module('starter.services', [])
factory('Api', function($http, ApiEndpoint) {
console.log('ApiEndpoint', ApiEndpoint)
var getApiData = function() {
$http.get(ApiEndpoint.url '/product')
.success(function(data) {
})
.error(function(error) {
})
}
return {
getApiData: getApiData
};
})
angular.module('starter.controllers', [])
.controller('ExampleController', function($scope, Api) {
$scope.getData = function() {
Api.getApiData()
.then(function(result) {
$scope.data = result.data;
})
}
});
Ответ №1:
Вы уже возвращаете promise
в приведенной ниже функции.
var getApiData = function() {
$http.get(ApiEndpoint.url '/product')
.success(function(data) {
})
.error(function(error) {
})
}
Измените нижеприведенную функцию на нижеприведенную следующим образом.
var getApiData = function() {
return $http.get(ApiEndpoint.url '/product')
}
Ответ №2:
factory('Api', function($http, ApiEndpoint) {
console.log('ApiEndpoint', ApiEndpoint)
var getApiData = function() {
$http.get(ApiEndpoint.url '/product')
.success(function(data) {
})
.error(function(error) {
})
return {getApiData: getApiData}; // you forget return :)
}