Angularjs Область Переменных внутри функции

0

Следующая структура внутри моего HTML:

<div class="form-group">
  <label for="anbieter">Anbieter</label>
  <input type="text" ng-model="fields_answers.address" class="form-control">
</div>

Я хочу заполнить данные из моей базы данных с помощью $http.get внутри моего контроллера, который выглядит следующим образом (только важные вещи):

(function(){
var SubmitFormController = angular.module('bdb').controller('submitFormCtrl', ['$scope', '$window', '$location', '$http', '$sce', function($scope, $window, $location, $http, $sce){
    var submitForm = this;
    $scope.fields_answers = {};

    submitForm.showResult = function(){
      $http.get("api/administration/idSearch/" + document.getElementById('searchFieldId').value, true).success(function (response) {
        $scope.fields_answers.address = response[0][0].address;
      });
    };
}());

Поэтому, когда я пытаюсь установить что-то с $ scope.fields_answers.address за пределами функции showResult() он работает, но я не могу получить доступ к переменной ng-model внутри функции showResult, она не кажется видимой,

Изменить: я попытался добавить id = "address" на вход и установить его внутри функции showResult() с помощью

 document.getElementById('address').value = response[0][0].address;

это работает. Но я хочу (иметь) использовать переменную ng-model.

  • 0
    Я думаю, что ваш http-запрос не работает, попробуйте вызвать ошибку (проверьте ссылку docs.angularjs.org/api/ng/service/$http ) и отладьте запрос
  • 0
    Я должен был быть более точным: «$ http.get» работает на 100% (проверено с console.log), и установка «$ scope.fields_answers.address´ =« что-то »вне функции также работает. Можно установить id = адрес и установить переменную с помощью document.getElementById ('adresse'). Value = response [0] [0] .address; но я не хочу делать это так, я хочу использовать угловой
Показать ещё 24 комментария
Теги:

1 ответ

0

Я не уверен, связано ли это с вашей проблемой или нет, но использование успеха в $ http.get устарело. Попробуйте изменить успех.

Затем возвращает полный объект ответа, поэтому ваши данные должны быть в элементе данных ответа, означающем, что вы получите к нему доступ с помощью response.data, а затем, как правило, когда есть несколько значений, они будут в массиве значений из данных, поэтому, вероятно, ответ. data.values [0] [0].Address.

Если это бит, выведите ответ на консоль и соответствующим образом настройте и, если необходимо, опубликуйте, как выглядит объект ответа здесь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню