2014-10-29 59 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]; 

,使所有的差异!