TypeError: (intermediate value)(intermediate value).success is not a function (angular)

TypeError: (intermediate value)(intermediate value).success is not a function (angular)

我很难理解这个错误...我不太明白为什么它不是函数....

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 回来了。 请提供任何帮助,我现在到处都在寻找。 谢谢。

您的 $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);
});