Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript: Angular 2, AngularJS
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
DennisM
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 35
1

Не работает http из factory

15.07.2015, 14:53. Просмотров 952. Ответов 4
Метки нет (Все метки)

добрый день всем!
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html ng-app='pictures'>
<head>
    <title>NG</title>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
 
<div class="container">
    
    <div id='pictures-list' ng-controller='PicturesController as pictures'>
        <ul class="list-group">
            <li class="list-group-item" ng-repeat='pict in pictures.pictures'>{{pict.thumbnailUrl}}<br>{{pict.title}}</li>
        </ul>
    </div>
 
</div>
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js"></script>
<script src="app.js"></script>
</body>
</html>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
(function() {
    angular.module('pictures', []);
 
    angular.module('pictures')
        .controller("PicturesController", ['picturesFactory', PicturesController]);
 
        function PicturesController(picturesFactory) {
            var vm = this;
            vm.pictures = picturesFactory.getHttp();
            /*
            vm.pictures = [];
            
            $http.get('http://jsonplaceholder.typicode.com/photos').success(function(data) {
                vm.pictures = data;
            });
            */
        };
    
    angular.module('pictures')
        .factory("picturesFactory", ['$http', picturesFactory]);
 
        function picturesFactory($http) {
                        
            var getHttp = function() {
                var pictures = [];
                $http.get('http://jsonplaceholder.typicode.com/photos').success(function(data) {
                    pictures = data;
                });
                return pictures;
            };
            
            return {getHttp: getHttp};
        };
    
})();
Если раскомментировать коммент в контроллере, то запрос работает нормально
из фабрики почему-то ничего не выходит... не могу понять где косяк... помогите, пожалуйста, разобраться.
Спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2015, 14:53
Ответы с готовыми решениями:

Не работает Response.Redirect !: The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing
точнее все работает на тестовом сервере (Вин2000), при переносе на рабочий страница с редиректом...

NOKIA C1-02 не работает http
Почему в NOKIA C1-02 не работает http? Добавлено через 17 часов 44 минуты Суть такая программа...

Не работает HTTP аутентификация
Всем привет! На локальном сервере(Denwer) не работает HTTP-аутентификация. Подскажите, пожалуйста,...

Сервис $http не работает
Всем привет! Недавно начал изучать AngularJS. Задача вот какая. Используя API вконтакте нужно...

$http.get() сервис не работает
Уважаемые, подскажите пожалуйста . Этот код не работает у меня на пк , но функционирует на ресурсе...

4
JokerNN
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
15.07.2015, 15:06 2
Лучший ответ Сообщение было отмечено DennisM как решение

Решение

У Вас по коду возвращается пустой массив. Если Вы хотите из ответа достать картинки надо делать примерно так:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
(function() {
    angular.module('pictures', []);
 
    angular.module('pictures')
        .controller("PicturesController", ['picturesFactory', PicturesController]);
 
        function PicturesController(picturesFactory) {
            var vm = this;
            picturesFactory.getHttp().success(function (data) {
              vm.pictures = data;
            });
            /*
            vm.pictures = [];
            
            $http.get('http://jsonplaceholder.typicode.com/photos').success(function(data) {
                vm.pictures = data;
            });
            */
        };
    
    angular.module('pictures')
        .factory("picturesFactory", ['$http', picturesFactory]);
 
        function picturesFactory($http) {
                        
            var getHttp = function() {
                var pictures = [];
                return $http.get('http://jsonplaceholder.typicode.com/photos');
            };
            
            return {getHttp: getHttp};
        };
    
})();
Это самый простой способ. Но лучше конечно использовать Restangular или resource итп...
1
DennisM
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 35
15.07.2015, 16:31  [ТС] 3
не... не работает Ваш код...

Добавлено через 8 минут
норм... подрехтовал чуть чуть и заработал.... только выдает не картинки, а урл... видимо надо в хтмл что-то сделать...
0
JokerNN
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
15.07.2015, 16:55 4
Лучший ответ Сообщение было отмечено DennisM как решение

Решение

Цитата Сообщение от DennisM Посмотреть сообщение
норм... подрехтовал чуть чуть и заработал.... только выдает не картинки, а урл... видимо надо в хтмл что-то сделать...
ну тк <img ng-src="{{someUrl}}" />
где someUrl - урл картинки
1
DennisM
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 35
15.07.2015, 18:16  [ТС] 5
да... спасибо... уже понял... спасибо огромное за помощь!!!... на трех форумах Вы единственный, кто оказали реальную помощь... все понтуются... типа "подебаж... поставь брекпоинт... проверь то сё..."... или они идиоты или я... вопрос - разве я обращался бы на форум, если бы мог сам подебажить и разобраться что к чему?... истерика ))))
0
15.07.2015, 18:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2015, 18:16

Не работает БД на хостинге http://somee.com/
привет всем. Столкнулся с такой проблемой. я только учусь. попытался разместить свой проект на...

Не работает http://hostcms/install/
Здравствуйте. С подобной работой сталкиваюсь впервые. Вынуждено) поставила Денвер3. Всё ок....

Factory (объясните)
взял с инета... class Automobile { private $vehicleMake; private $vehicleModel; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru