2014-10-29 37 views
0

我試圖做到這一點:http://jsfiddle.net/NfPcH/3951/

然而,更新數據庫的複雜因素。除了「添加」功能外,所有工作都可以使用。我已經改變了這一點:

// add user 
$scope.addUser = function() { 
    $scope.inserted = { 
     id: $scope.users.length + 1, 
     name: '', 
     status: null, 
     group: null 
    }; 
    $scope.users.push($scope.inserted); 
}; 

成這樣:

$scope.addRow = function() { 
     $code = Math.floor(Math.random() * (9999 - 1000) + 1000); 
     $scope.inserted = { 
      id: '', 
      code: $code, 
      description: '', 
      location: '' 
     }; 
     return $http.post('php/add.php', $scope.inserted). 
     success(function(response) { 
      $scope.inserted = response; 
      $scope.parts.push($scope.inserted); 
     }); 
    }; 

的數據被添加到數據庫中,沒有任何問題,但是,儘管出現的形式,它不包含的ID(自動遞增的PK )代碼&。它需要做到這一點(當然是id),這樣當'save'按鈕被點擊時,'edit.php'頁面知道哪一行要更新。

任何人都可以啓發我爲什麼我的$http.post().success不返回數據?我認爲這是問題。

+0

服務器是否使用帶有ID的更新項目進行響應?檢查http請求以查看服務器響應的內容和/或在成功回調中放置斷點,以查看響應的角度。 – 2014-10-29 16:56:10

+0

服務器的響應具有我想要的json數據。不知道如何去添加斷點,但我會考慮明天。謝謝! – nathanjfield 2014-10-29 18:38:20

+0

在您的響應中嘗試'console.log'。你的物體可能會被包裹而你沒有意識到它。此外,添加一個錯誤處理程序('.error(function(err){})')到你的'$ http'鏈中,以確保它不會觸及它。 – 2014-10-29 22:18:52

回答

0

Sorted!謝謝你們的幫助,我不知道你們中的一個人還是你們兩個都想發表一個答案,以便你能得到應有的榮譽?當他說物體被包裹的時候,Jedd一聲巨響。它在一個數組中。我只是改變了我的代碼:

$scope.addRow = function() { 
$code = Math.floor(Math.random() * (9999 - 1000) + 1000); 
    $scope.inserted = { 
     id: '99', 
     code: $code, 
     description: '', 
     location: '' 
    }; 
return $http.post('php/add.php', $scope.inserted). 
    success(function(response) { 
     $scope.inserted = response[0]; 
     $scope.parts.push($scope.inserted); 
    }); 
}; 

請注意,這是

$scope.inserted = response[0]; 

,使所有的差異!