2015-07-20 80 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