我无法重现此错误或找出原因:用户编辑表单并提交,更改通过PUT请求保存,有数据重新加载的GET请求,但有时会有第二个PUT请求将更改还原为原始值。 我检查了日志,第二个PUT请求发生在第一个PUT请求的几秒钟内。我还没有复制这个,用户说他们没有第二次编辑。
在编辑控制器中:
$scope.save = function() {
$scope.requestPending = true;
APIResources.userResource($route.current.userType,$route.current.params.id).update(makeUpdateObject()).$promise.then(function(data) {
$scope.userRefresh();
$scope.requestPending = false;
$rootScope.$broadcast('app.event.user.updated');
},
function(error){
console.log('Error saving', error);
});
$scope.$dismiss();
};
在用户控制器中:
$scope.userRefresh = function() {
APIResources.userResource($route.current.userType,$route.current.params.id).get().$promise.then(function(data) {
$scope.user = data;
// Time to reload the data is 2000ms to support 2G (450kbs) or higher
window.setTimeout(function() {
$rootScope.$broadcast('app.user.loaded', data, userType);
}, 2000);
}, function(err) {
console.log('Data failed to load.');
});
};