TypeError :(中间值)(中间值).success不是函数(angular)

时间:2015-05-08 14:44:44

标签: javascript angularjs angularjs-scope angularjs-controller angularjs-http

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

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。 任何帮助,请我现在到处寻找。 谢谢。

1 个答案:

答案 0 :(得分:7)

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