TypeError: (промежуточное значение) (промежуточное значение). успех не является функцией (угловой)

Мне трудно понять эту ошибку... Я не совсем понимаю, почему это не функция....

angular.module('mkApp').factory('mkService', function ($http, $log) {
  function getLookUp(successcb) {
    $http = ({
        method: 'GET',
        url: 'api/Entries/'

    }).success(function (data, status, header, config) {
        successcb(data);
    }).
    error(function (data, status, header, config) {
        $log, warn(data, status, header, config);
    });
  };

  return {
    lookUp: getLookUp
  }
});

angular.module('mkApp').controller('mkControler', function ($scope, mkService) {
  mkService.lookUp(function (data) {
    $scope.ddl = data;
    console.log(ddl);

  });
});

А вот мой HTML

<div ng-app="mkApp">
    <div ng-controller="mkControler">            
       <table>
           <tr>
               <td> First Name</td>
               <td> Last Name</td>
           </tr>
           <tr>
               <td><input type="text" /></td>
               <td><input type="text" /></td>
           </tr>
           <tr>
               <td>
                   <select></select>
               </td>
           </tr>
       </table>

    </div>
</div>

Моя идея состоит в том, чтобы использовать данные для заполнения раскрывающегося списка. Это возвращает мне XML. Любая помощь, пожалуйста, я искал везде сейчас. Спасибо.


person kkdeveloper7    schedule 08.05.2015    source источник
comment
Трудно понять, что вы спрашиваете. Может быть, вы могли бы перефразировать свой вопрос, чтобы сделать его более ясным?   -  person Kmeixner    schedule 08.05.2015
comment
JavaScript выдавал ошибку... Так случилось, что я использовал неправильный синтаксис.   -  person kkdeveloper7    schedule 09.05.2015
comment
Вот что мне помогло, если вы минимизируете: stackoverflow. com/questions/20307462/js-cant-combine-lib-files   -  person Vincil Bishop    schedule 17.02.2016


Ответы (1)


Ваш $http код вызова должен быть $http({ вместо $http = ({, а также $log, warn должен быть $log.warn

Код

$http({
    method: 'GET',
    url: 'api/Entries/'
}).success(function (data, status, header, config) {
    successcb(data);
}).
error(function (data, status, header, config) {
    $log.warn(data, status, header, config);
});
person Pankaj Parkar    schedule 08.05.2015
comment
Кроме того, я немного читал, и мне кажется, что лучше использовать ресурс вместо HTTP. Мне не придется вызывать эти функции успеха. Будет ли мой контроллер отличаться, если я буду использовать ресурс вместо http? - person kkdeveloper7; 09.05.2015
comment
Нет.. это неправильно.. реализация, о которой вы говорите, также возможна в $http..$resource, также хороша при работе с REST API.. - person Pankaj Parkar; 09.05.2015
comment
Я не могу, пока нет разрешения :( - person kkdeveloper7; 09.05.2015