2016-03-21 2 views
0

Я пытаюсь получить список пользователей из json, созданного с помощью URL-адреса. Я пытаюсь адаптировать код мотивационного на Angular UI select : Fetch data from remote service так:Угловой пользовательский интерфейс выберите: using url json

$scope.person = {}; 
$scope.people = {}; 
$http.get('https://sampleurl/pessoas/v1/?nome=' + item.name).then(
    function (response) { 
     $scope.people = response.data; 
     console.log(response) 
    }, 
    function() { 
     console.log('ERROR!!!'); 
    } 
); 

Однако вход просто разрывает, я не могу ничего ОНТ это :(

я должен был изменить реальный URL поскольку четным печатаю JSON содержит персональные данные

UPDATE я удалил item.name из URL и выдавил значение имени Теперь я могу получить некоторые фиксированные результаты, но я failling, чтобы добавить их к входу:..

$scope.person = {}; 
    $scope.people = []; 
    //e lá vamos nós 
    $http.get('https://someurl/pessoas/v1/?nome=monteiro').then(
    function (response) { 
     $scope.people = response.data; 
     console.log(response) 
    }, 
    function() { 
     console.log('ERROR!!!'); 
    } 
); 

получение следующей ошибки при выборе кого-то: Ошибка: [ngRepeat: dupes] Дубликаты в ретрансляторе не допускаются. Используйте выражение «track by» для указания уникальных ключей. Ретранслятор: $ пункт в $ select.selected, ключ Дублирование: неопределенные не определено, повторяющееся значение не определено

UPDATE 2:

установил последнюю ошибку, определив все атрибуты из объекта:

$scope.tagTransform = function (newTag) { 
    var item = { 
     nome: newTag, 
     email: 'unknown', 
     cpf: 'unknown', 
     matricula: 'unknown', 
     lotacao: 'unknown' 
    }; 

    return item; 
    }; 

Теперь я могу выбрать кого-то, но в коробке выбора ничего нет. Кроме того, я все еще не могу найти строку. Я попробовал https://sampleurl/pessoas/v1/?nome= '+ item.name и https://sampleurl/pessoas/v1/?nome=' + $ selected.search, но никто не работал.

+0

это ответ. массив данных? –

+0

пример: [{"nome": "dude", "matricula": "32107", "cpf": "12345678901", "email": "[email protected]", "lotacao": "SUPDE/DERJO/DE701 "," региональный ":" SERPRO - REGIONAL RIO DE JANEIRO "}, {" nome ":" girl "," matricula ":" 46213 "," cpf ":1", "email": "girl @ CENTROIN.COM.BR "," lotacao ":« OPRJO/OPSIN/OPESE »,« региональный »:« SERPRO - REGIONAL RIO DE JANEIRO »}]; – SuperMonteiro

+0

уведомление« nome », это опечатка« имя »? отредактировал мой ответ, чтобы использовать 'nome' –

ответ

0

изменение $scope.people = response.data; к $scope.people = response;

+0

не работал :(но спасибо – SuperMonteiro

0

Трудно воссоздать этот вопрос, чтобы проверить, что именно происходит, но, основываясь на ваш комментарий к первоначальному вопросу, возвращаемые данные в массиве. Поэтому для того, чтобы получить JSON, вы должны сделать следующее:

$scope.people = response.data[0] 

Я всегда нахожу полезным утешать регистрировать ответные данные и пройти через иерархию объекта и его детей в консоли. Таким образом, вы можете узнать порядок свойств (если необходимо), что упростит доступ к необходимым вам данным: console.log(response.data)

+0

таким образом я смог набрать что-то, но он все еще не работает. – SuperMonteiro

+0

Что такое ведение журнала консоли? –

+0

Ошибка: элемент не определен – SuperMonteiro

0

Предположим, что у вас есть html, как это, а result.data - это массив людей. У меня есть {{people}} для цели отладки. он должен показать результат. Данные, которые вы публикуете в комментарии

{{people}} 

<ui-select multiple ng-model="person" > 
    <ui-select-match placeholder="Select person...">{{$select.selected.nome}}</ui-select-match> 
    <ui-select-choices repeat="person in people "> 
    {{person.nome}} 
    </ui-select-choices> 
</ui-select> 

$http.get('https://sampleurl/pessoas/v1/?nome=' + item.name).then(
    function (response) { 
    $scope.people = response.data; 
    console.log(response) 
    }, 

    function() { 
    console.log('ERROR!!!'); 
    } 
); 
+0

Он все еще не работает. Проверяя журнал, я заметил, что получаю «Ошибка: элемент не определен». – SuperMonteiro

+0

отредактировал ответ, используйте $ select.selected вместо –

+0

То же самое, ошибка: элемент не определен. должен ли я просто загрузить весь код где-нибудь? я чувствую себя безнадежно. – SuperMonteiro

Смежные вопросы