2016-07-02 48 views
0

我從一個angularjs表使用此代碼移除一行:JSON數據更新不及時

$scope.removeRow = function (index) { 
if (index === -1) { 
alert("Something gone wrong"); 
}else{ 
$scope.budgetdetails.splice(index,1); 
} 

但是我JSON數據和數據庫沒有更新。我需要做什麼來更新它們兩者中的數據?

+0

需要使用'$ http'和服務器將更新數據庫,該信息發送給服務器。爲了做到這一點,你需要傳遞整個對象到你的函數,所以你有ID發送...然後自己索引 – charlietfl

+0

謝謝charlieftl。我正在讀這些。有沒有一個很好的例子可以讓我指點? – mdiaz

+0

這將有所幫助。在你的ajax promise回調中使用它http://stackoverflow.com/questions/15453979/how-do-i-delete-an-item-or-object-from-an-array-using-ng-click/15454424#15454424 – charlietfl

回答

0

水木清華這樣的:Auto select and collect checkbox values in array

$scope.getData = function(Day) { 
var index = $scope.budgetdetails.indexOf(Day); 

if (index < 0) { 
    $scope.budgetdetails.push(Day) 
    console.log('myData', $scope.budgetdetails); 
} else { 
    $scope.budgetdetails.splice(index, 1) 
    console.log('myData',$scope.budgetdetails); 
} 

}

+0

嗨Prianca,這段代碼從我的角度表中刪除行。然而,它的底線與我的代碼一樣。我的JSON仍然沒有更新,我的數據庫中的行保持不變。曼薩建議爲此使用$ http。你有什麼建議嗎? – mdiaz

0

要在數據庫中更新,則需要使用$ HTTP服務(https://docs.angularjs.org/api/ng/service/ $ HTTP)和你的API應該處理這個代碼。

$http({ 
     method : 'POST', 
     url  : '//http://localhost/MyAPI/MyRoute', 
     data : $scope.budgetdetails, //forms user object 
     headers : {'Content-Type': 'application/json'} 
    }) 
     .success(function(data) { 
     if (data.errors) { 
      // Showing errors.    
     } else { //success message for API 
      $scope.message = data.message; 
     } 
     }