私はangeljsでnewbyです。私はインターネットで研究しましたが、私の問題に適した解決策を見つけることができませんでした。私はコントローラからいくつかのデータを取得するためにhttp呼び出しを行った。コントローラ側は大丈夫です。しかし、クライアント側の約束はデータを待っていません。ここに私が書いたコード。MVCとAngularjs:約束はデータを待っていません
//service code
angular.module("myApp").service('$myService', function ($http, $q) {
this.getDataArray = function() {
var deferred = $q.defer();
$http.get('../Home/GetDataArray')
.success(function success(response) {
deferred.resolve(response);
})
.error(function() {
console.log("error getting data array");
deferred.reject();
});
return deferred.promise;
};
}
// controller-code
angular.module("myApp").controller('dataController', function ($scope, $http, $myService) {
$scope.getDataFromService = function() {
$myService.getDataArray().then(function (response) {
$scope.dataArray = response.data;
});
};
});
}
私は最初の$ scope.dataArrayでgetDataFromServiceメソッドを呼び出す空ですが、2回目の呼び出し、$ scope.dataArrayは、データで満たされています。問題はどこだ?助けてくれてありがとう。
fiddler/chrome開発ツールで最初のHTTP呼び出しの結果を確認できますか? – fikkatra
私もそれをチェックしましたが、私が最初に呼び出したときに、$ scope.dataArrayは空です。私が言ったように約束が待たずに –
私は$ scope.dataを意味するわけではありません。最初の呼び出し(Chrome開発ツールに見られるような)の応答にデータが含まれていることは確かですか? – fikkatra