2014-09-21 26 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

问题是工厂依赖关系,我删除了一个依赖关系,现在一切正常。

相关问题