1
zurückgibt Ich versuche, Liste der Dateien auf einem Server zu lesen. Der HTTP-GET-Methodendienst gibt die Liste der Dateien zurück, aber die Bereichsvariable im Controller wird nicht mit dem Rückgabewert aktualisiert. Kannst du mir bitte helfen herauszufinden, was schief läuft?Bereichsvariable, die kein Datenobjekt erhält, nachdem HTTP-Dienst
app.controller('RdaController', ['$scope', ', 'RdaService', function($scope, RdaService) {
$scope.listOfFilesOnCTP = "";
\t
\t $scope.GetListOfFilesonCTP = function(path){
\t \t $scope.$apply(function(){
\t \t \t $scope.listOfFilesOnCTP = RdaService.getListOfFilesonCTP(encodeURIComponent(path));
\t \t });
\t \t //path = path.replace(/\//g, '_');
\t \t console.log($scope.listOfFilesOnCTP); //--> This scope variable does not get updated.
\t \t return $scope.listOfFilesOnCTP;
\t }
}]);
app.service('RdaService', ['$http', function($http) {
this.getListOfFilesonCTP = function(path){ \t
\t return $http ({
\t method: "GET",
\t \t url: "../api/CTP/getFilesonCTP/"+ path,
\t \t headers: { 'Content-Type': 'application/json' }
}).success(function(data){
\t return data; //---> contains the expected value
}).error(function(data){
\t return data;
});
};
}]);
\t <div class="col-md-3" id="CTP Jobs">
\t \t <h3>JOBS</h3>
\t \t <table class="table table-striped"
\t \t \t ng-init="GetListOfFilesonCTP('/home/topas/rda_app/JOBS')"
\t \t \t ng-model="listOfFilesOnCTP"> <!-- This variable is not updated-->
\t \t \t <div ng-repeat="file in listOfFilesOnCTP">
\t \t \t \t <span><tr>{{file}}
\t \t \t \t \t </tr></span>
\t \t \t </div>
\t \t </table>
\t </div>
Hallo @ Pankaj, Danke für eine ausführliche Antwort. Ich benutzte ng-init zum Aufruf der Controller-Funktion, da ich keine andere Möglichkeit kannte, diese Funktion aufzurufen. Können Sie mir sagen, wie man die Controller-Funktion in diesem Szenario von der HTML-Seite aus aufruft? –
@SharatChandra froh, Ihnen zu helfen .. Danke :) –
@SharatChandra kann ich wissen, warum Sie Funktion aus HTML aufrufen möchten? –