首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当Angular.js $resouce不是对象时,它不会JSONify postData吗?

当Angular.js $resouce不是对象时,它不会JSONify postData吗?
EN

Stack Overflow用户
提问于 2014-04-02 01:19:40
回答 1查看 427关注 0票数 0
代码语言:javascript
复制
lubanlockServices.factory('UserConfig', ['$resource',
    function($resource){
        return $resource('user/config/:item', {item: '@item'});
    }
]);

lubanlockControllers.controller('NavCtrl', ['$scope', 'UserConfig',
    function($scope, UserConfig){
        $scope.minimized = UserConfig.get({item: 'nav_minimized'});

        $scope.$watch('minimized', function(value){
            console.log(value);
        });

        $scope.toggleMinimize = function(){
            $scope.minimized = !$scope.minimized;
            UserConfig.save({item: 'nav_minimized'}, $scope.minimized);
        }
    }
]);

问题是,当$scope.minimized为false时,请求将不包含任何post数据,而不是发送JSONified false。这会导致服务器端保存值出现问题。

有解决办法吗?或者我的用法有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-02 03:40:00

JSON是Javascript对象表示法,您确实应该是POSTing (并检索)一个对象。理想情况下,它看起来应该是:

代码语言:javascript
复制
$scope.config = UserConfig.get({item: 'nav_minimized'}); 
//returns a $resource with data {minimized: false}

$scope.$watch('config.minimized', function(value){
    console.log(value);
});
$scope.toggleMinimize = function(){
    $scope.config.minimized = !$scope.config.minimized;
    $scope.config.$save(); //and then you can do this to save
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22799835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档