2014-09-21 31 views
0

我想做一個REST調用來更新數據,我已經做了一個GET請求來填寫表單,當我點擊更新按鈕時,我想要發送和PUT調用,而不是我得到類型錯誤。Angular.js資源休息調用錯誤TypeError:undefined不是函數

下面是代碼:

//service.js

someservice.factory('update', function($resource) { 
return $resource(connectionString + 'update', {}, { 
put: { 
    method: "PUT", 
    isArray: 
    'Content- false, 
    headers: {Type': 'application/json', 
    'cache-control': 'no-cache', 
    'Pragma': 'no-cache', 
    'sessionId': gv.sessionId 
    } 
    } 
    }) 
}) 

//companyCtrl.js我已經包括更新廠控制器依賴

$scope.btnUpdate = function() { 
    console.log("asd"); 
    update.put({}, { 
     'data': $scope.data 
    }, function(data){ 
     if(data.success){ 
      console.log("success"); 
     } 
     else{ 
      console.log("faliure"); 
     } 
    }) 
} 

我認爲我有按鈕與ng-click =「btnUpdate()」

console.log記錄「asd」所以一切都是連接反恐執行局。可能有做的一些問題

有一兩件事,我使用的UI路由器和我有這樣我的狀態配置中的控制器:

.state('admin.company', { 
    url: "/company/{_id}", 
    templateUrl: "./views/partials/company.html", 
    controller: "companyCtrl" 

錯誤堆棧如下:

TypeError: undefined is not a function 
at Scope.$scope.btnUpdate (http://localhost:3000/dist/js/app.min.js:1:6680) 
at http://localhost:3000/libs/angular/angular.js:10836:21 

回答

-1

這是companyCtrl.js的全部嗎?您尚未實際定義名稱爲「companyCtrl」的函數或將其註冊爲應用程序中的控制器。如果您將companyCtrl.js更改爲以下內容,則應該修復它。

function companyCtrl($scope) { 
$scope.btnUpdate = function() { 
    console.log("asd"); 
    update.put({}, { 
     'data': $scope.data 
    }, function(data){ 
     if(data.success){ 
      console.log("success"); 
     } 
     else{ 
      console.log("faliure"); 
     } 
    }) 
} 
} 
+0

不,這只是當然的一部分,我已經定義了一個函數,並設置了依賴關係等。 – Case09 2014-09-22 04:41:00

0

問題是工廠依賴關係,我刪除了一個依賴關係,現在一切正常。

相關問題