2014-03-12 30 views
2

我正在同時獲得基於下拉類型錯誤:無法讀取的特性「協議」未定義角JS

ERROR以前的ID服務的列表面臨一個錯誤:未定義無法讀取屬性「協議」:類型錯誤

這裏是我的HTML

<table> 
<tr> 
<td>Team Member</td> 
<td>     
<select name="teamember" class="form-control" ng-model="members" ng-options="c.Name for c in member" ng-change="loadservices(members)"></select> 
</td> 
</tr> 
<tr> 
<td>Service</td> 
<td> 
<select name="service" class="form-control" ng-model="servicesforemp" ng-options="c.Name for c in sfe"></select></td> 
</tr> 
</table> 

這裏是我的角度控制器

var app = angular.module('appointment', ['ngRoute']); 
    function getMembers($scope, $http) { 
     $scope.member = []; 
     $scope.servicesforemp = []; 
     $http.get('/api/servicesapi/GetEmpByBusiness') 
      .then(
       function(response) { 
        $scope.member = response.data; 
        $scope.membrs = $scope.member[0]; 
       }, 
       function() { 

       } 
      ); 

     $scope.loadservices = function (members) { 
      var id = members.Id; 
      console.log(id);//shows correct id 
     //error :function exits here 
      $http.get('/api/servicesapi/GetServicesByEmployees', id) 
       .then(
        function(result) { 
         $scope.servicesforemp = result.data; 
         $scope.sfe = $scope.servicesforemp[0]; 
        }, 
        function() { 
         alert('Error in loading services'); 
        } 
       ); 
     }; 
    } 
+1

試試這個'$ http.get('/ API/servicesapi/GetServicesByEmployees',{params:{id:id}})' – doodeec

+0

「getMembers()」在哪裏被調用?這看起來像一個全球性的功能。我看不到你的控制器在哪裏創建。 –

+0

@CAT函數是控制器的一個最簡單的例子,您不必在'angular.module(..).controller()'方法中定義它的方法 – doodeec

回答

0

如果使用不正確的$http,可能會以多種方式發生。就我而言,我正在發送一個未定義的URL。

$http({ 
    method: "GET", 
    url: obj.thisIsUndefined 
}).success .... 

在你的情況@doodec是正確的:

$http.get('/api/servicesapi/GetServicesByEmployees', options) 

二參數get應該是配置對象https://docs.angularjs.org/api/ng/service/ $ HTTP#得到

相關問題