2014-08-31 63 views
0

我插入一條記錄模型(偉大工程)和Chrome工具的網絡選項卡顯示此作爲響應:AngularJS:試圖增加INSERT_ID到

{"message":25} 

那也是正確的,因爲API編程返回insert_id。

但是,在承諾的成功,我試圖將該ID添加到農民對象,但它不起作用。

這裏是一個方法:

$scope.insertFarmer = function() { 
    if($scope.farmer.id){ 
     alert("We have a farmer"); 
    } else { 
     $scope.farmers.push($scope.farmer); 
     var data = $http.post('/api/farmers', $scope.farmer); 
     $scope.farmer.id = data.message; 
    } // end if 
    return true; 
}; 

回答

1

$http.post('/api/farmers', $scope.farmer);只能用HttpPromise回報。 https://docs.angularjs.org/api/ng/service/ $ HTTP#發佈

你應該做這樣的事情:

$http.post('/api/farmers', $scope.farmer). 
    success(function(data,status){ 
    $scope.farmer.id = data.message; 
    }). 
    error(function(data, status){ 
    $scope.data = data || "Request failed"; 
    $scope.status = status; 
    }); 

見鏈接底部的例子。