我正在尝试调用名为chercherProfil的服务并将其结果存入javascript数组$ scope.tagsByProfils,但是当我尝试访问它时,控制台将数组显示为未定义
这是一段代码剪辑,可以帮助您找出问题所在:
$http.post(configuration.URL_REQUEST + '/chercherProfil', toSendCherche)
.success(function(data) {
console.log(data);
$scope.profil = data;
$http.post(configuration.URL_REQUEST + '/chercherTagsParProfil', {
idProfil: $scope.target
}).success(function(data) {
$scope.tagsByProfils = data;
console.log(data);
$scope.tests = [];
console.log($scope.tagsByProfils[0].tag);
for (var p = 0; p < $scope.tagsByProfils.length; p++) {
$http.post(configuration.URL_REQUEST + '/getTagById', {
idTag: $scope.tagsByProfils[p].tag
}).success(function(data) {
$scope.resultFlag = data;
if ($scope.resultFlag.libelle.toUpperCase().match('^TITRE')) {
console.log($scope.tagsByProfils[p]);
$scope.tests[p] = '<p class="text-center" data-font="' + $scope.tagsByProfils[p].police + '" data-size="' + $scope.tagsByProfils[p].taille + '" data-lineheight="' + $scope.tagsByProfils[p].interligne + '" data-weight="' + $scope.tagsByProfils[p].interligne + '" data-coloration="' + $scope.tagsByProfils[p].coloration + '">' + $scope.resultFlag.libelle + ' : Ceci est un exemple de' + $scope.resultFlag.libelle + ' </p>';
} else {
$scope.tests[p] = '<p class="text-center" data-font="' + $scope.tagsByProfils[p].police + '" data-size="' + $scope.tagsByProfils[p].taille + '" data-lineheight="' + $scope.tagsByProfils[p].interligne + '" data-weight="' + $scope.tagsByProfils[p].interligne + '" data-coloration="' + $scope.tagsByProfils[p].coloration + '">' + $scope.resultFlag.libelle + ' : CnedAdapt est une application qui permet d\'adapter les documents. </p>';
}
});
};
});
欢迎任何想法或反馈
答案 0 :(得分:0)
不确定它是否能彻底解决您的问题,但请考虑保护您的for循环计数器,因为您正在以封闭方式使用它:
for (var p = 0; p < $scope.tagsByProfils.length; p++) {
(function(p){
$http.post(configuration.URL_REQUEST + '/getTagById', {
idTag: $scope.tagsByProfils[p].tag
[...]
})(p)