2015-07-20 40 views
0

我想从表单中检索信息并将其发送到一个url,但我的方法似乎并没有工作。使用POST与angularjs发送信息

insert: function(id, callback) { 
        $http({ 
         method: 'POST', 
         url: listofIds/id, 
         data: { 
          single_id : id 
         } 
        }).success(callback); 
       } 

,然后在一个单独的js文件

.controller('IDkeyCtrl', function($scope) { 

    $scope.update = function(newEntry) { 
     console.log($scopeIDkey); 
     $scope.id = $scope.IDkey; 
    }; 

insert($scope.id); 

我可以告诉大家,我打电话的功能插件()不正确地在这里。有人可以帮助确定更好的方法吗?

+0

'insert'是在工厂?你需要注入。还需要传递callback()函数,否则它不会对数据产生任何影响。告诉我,如果它的服务,工厂或供应商,我会做一个示例代码 – nada

+0

@nada它是在一家工厂,所以在一个单独的文件中我有 .factory('items,function($ http){ return { 插入:... } } – tryingtolearn

回答

0

试用能:

.controller('IDkeyCtrl', ['$scope', 'yourFactory', function($scope, yourFactory) { 

    $scope.update = function(newEntry) { 
     console.log($scopeIDkey); 
     $scope.id = $scope.IDkey; 
    }; 

    $scope.functionOnClick = function() { 
     yourFactory.insert($scope.id, function(response) { 
      //do something with response data 
     }); 
    } 

}]) 

.factory('yourFactory', ['$http', function($http) { 

    return { 
     insert: function(id, callback) { 
      $http({ 
       method: 'POST', 
       url: listofIds/id, 
       data: { 
        single_id : id 
       } 
      }).success(function(response) { 
       callback(response) 
      }); 
     } 
    }; 

}]); 

<button ng-click="functionOnClick()">Your Button</button 
+0

这似乎不过工作,我可以让这个yourFactory.insert()点击一个按钮,当被称为 喜欢的东西:? <按钮类=“BTN btn-large btn-success“ng-click =”yourFactory.insert($ scope.id)“>查找ID – tryingtolearn

+0

@tryingtolearn看编辑 – nada

+0

嗯,使用$ scope.functionOnClick()这种方式给我一个错误说不必要的{。 – tryingtolearn