2017-04-14 8 views
1

Ich habe versucht, eine $ state.reload in meinem Controller nach einer POST-Anfrage, aber es aktualisiert meine Seite nicht. Daher, nachdem ich mein Formular registriert habe, werden die Daten auf meiner Seite nicht aktualisiert. Ich muss manuell aktualisieren, damit es mir die richtigen Daten zeigt.Erzwingen Seite nach einem POST aktualisieren angularjs

.controller('editCtrl', function($scope, $stateParams, $state, AppService) { 
$scope.infos = AppService.getObject(); 
console.log($scope.infos); 
AppService.user($scope.infos).then(function(response){ 
    $scope.user = response; 
    console.log($scope.user);   
}); 
$scope.save = function (currObj) {   
    AppService.edituser($scope.form,$scope.infos).then(function(response){ 
     AppService.addObject(currObj); 
     console.log(currObj);   
     $state.reload('menu.infosUser'); 
     $ionicLoading.hide(); 
     $state.go('menu.infosUser',{reload: true}); 
    }); 
}; 
}) 

ich so schnell wie möglich auf alle Vorschläge antworten wird :)

+0

so Und wie alles, was Sie wirklich tun müssen, ist Ihre Daten zu aktualisieren – charlietfl

+0

Ja, aber tatsächlich sind die Daten bereits nach der Post-Anfrage aktualisiert, aber die Seite zeigt nur die alten Daten, weil sie zwischengespeichert gehalten .. – Lilith

+0

Welches ist der $ Scope Variable, die Sie nach der POST-Anfrage zu aktualisieren versuchen? –

Antwort

1

Wenn Sie wirklich dann location.reload() zum Nachladen der Seite wie

.controller('editCtrl', function($scope, $stateParams, $state, AppService) { 
$scope.infos = AppService.getObject(); 
console.log($scope.infos); 
AppService.user($scope.infos).then(function(response){ 
    $scope.user = response; 
    console.log($scope.user);   
}); 
$scope.save = function (currObj) {   
    AppService.edituser($scope.form,$scope.infos).then(function(response){ 
     AppService.addObject(currObj); 
     console.log(currObj);   
     location.reload(); 
    }); 
}; 
}) 

benutzen, um Ihre Seite neu zu laden möchten, können Oder Sie nachladen Ihr Zustand, indem Sie nur $state.go('menu.infosUser',{reload: true}); verwenden, wird es Ihre zwischengespeicherten Daten löschen, zB

.controller('editCtrl', function($scope, $stateParams, $state, AppService) { 
$scope.infos = AppService.getObject(); 
console.log($scope.infos); 
AppService.user($scope.infos).then(function(response){ 
    $scope.user = response; 
    console.log($scope.user);   
}); 
$scope.save = function (currObj) {   
    AppService.edituser($scope.form,$scope.infos).then(function(response){ 
     AppService.addObject(currObj); 
     console.log(currObj); 
     $ionicLoading.hide(); 
     $state.go('menu.infosUser',{reload: true}); 
    }); 
}; 
}) 
+0

Was ist das Problem, mit dem Sie konfrontiert werden? – Gaurav

Verwandte Themen