我正在開發AngularJS應用程序。在最初構建基本應用程序後,我已經轉向角度路由。我已經成功實現了路由。我以前的頁面數據來自我使用$routeParams
進行路由的頁面。
我的控制器內部我打電話給$ http服務,輸入從$routeParams
服務收到。我所有的REST API和鉻的網絡選項卡我看到響應回來,但我的http服務的成功處理程序不叫。嘗試調試,但斷點永遠不會到達。
這裏是我的路由配置:
var app = angular.module('mainApp',['ngRoute']);
app.config(function($routeProvider){
$routeProvider.when('/',{
templateUrl:"main.html",
controller:'CategoriesController'
}).when('/imagedetails/:imageId',{
templateUrl: 'imagedetails.html',
controller:'ImageDetailsController'
})
.otherwise({redirectTo:'/'});
});
所以我通過imageId
到ImageDetailsController從REST API獲取數據。
這裏是我的控制器:
var ImageDetailsController = function($scope, $http, $routeParams)
{
$scope.imageId = $routeParams.imageId;
console.log("Print image id : " + $scope.imageId);
$scope.image = {};
$scope.params = $routeParams;
var downloadImageRequest = {
method: 'GET',
url: '<my-rest-api-url>',
headers: {
'Content-Type': 'application/json'
}
};
$http(downloadImageRequest).then(onImageSuccess, onImageFailure);
var onImageSuccess = function(response){ // i have put debug inside this method but never reaches controller
console.log(response );
$scope.image = response.data.results[0];
};
var onImageFailure = function(response){
alert("Failed to load image please try again!!");
console.log(response);
};
}
Chrome開發工具的網絡選項卡,響應可見,但上述方法中,我設定的響應不會被觸發。
請幫忙
所以,你可以看到數據回來的開發工具?先取下頭,你並不需要那。還失敗回調被執行? –
是的,我看到開發工具中的數據...沒有回調被觸發。爲了確保我使用了console.log() – virendrao
可以刪除標題並嘗試 –