下面是我如何定义我的 $resource:
app.factory('User', function($resource){
return $resource('/api/user', {}, {
get: { method:'GET'},
update: { method:'PUT'},
})
})
这是我的控制器:
function SettingsCtrl($scope, $http, User) {
$scope.user = User.get(
{}, //Params
function(data) { //Successfully received data
},
function(data) { //Failure to receive data
}
);
$scope.saveUser = function() {
$scope.user.$update();
console.log($scope.user);
};
}
User.get()
控制器顶部的调用正确地从后端获取数据。在我的 HTML 中,我创建了一个调用该$scope.saveUser
函数的按钮,并使用 创建了一些输入ng-model
,看起来双向数据绑定工作正常。当我调用console.log($scope.user)
该$scope.saveUser
函数时,它完全按照我的预期返回用户对象,其中包含我在浏览器中所做的更改。但是,在我的 Node 后端,我记录了在 PUT 请求中收到的对象,它没有反映我在浏览器中所做的任何更改,它看起来与原始对象相同。单击浏览器中的按钮后,数据将重置为其原始值。到底是怎么回事?为什么它不会发送我在浏览器中输入的更新数据?