That might occur if when you deploy your project the JavaScript files are minified and the AngularJS services have not been "injected" properly. If so, try modifying your code like this:
var currencyCtrl = function($scope, $http) {
$http.get('http://dummy.com/api/getcurrencyformainscreen').
success(function(data, status, headers, config) {
$scope.currencies = data;
}).
error(function(data, status, headers, config) {
//alert(data);
})
};
// inject dependencies properly for minification process
currencyCtrl.$inject['$scope', '$http'];
app.controller("CurrencyController", currencyCtrl);
This is because AngularJS relies on dependency injection. In development mode the parameters ($scope
, $http
) have the same name and AngularJS injects the dependency (services with the same name) without problems, but in the minified version of the JavaScript file, the name of the parameters are changed randomly, so you must inject them manually with the currencyCtrl.$inject['$scope', '$http'];
code.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…