0

在 angularjs ng-route 中,因为我的参数是动态的,所以我将它作为 json 传递,如下所示

$scope.filmNames= {
            'films': {
                    'film': [{
                        filmName: 'ABCD',
                        filmYear: '123'
                    }, {
                        filmName: 'BCD',
                        filmYear: '145'
                    }, {
                        filmName: 'DEF',
                        filmYear: '128'
                    }]
                }
            };

'.../index.html#/admin?jsonObj='+$scope.filmNames

它成功发送,就像

http://localhost:8000/index.html#/admin?jsonObj=[object Object]

但是在控制器接收器上,当我尝试使用 $routeParams 来获取它时

var jsonObj= $routeParams.jsonObj;

console.log(JSON.stringify(jsonObj));

它被打印为"[object Object]", 而不是值

谁能告诉我解决方案

4

1 回答 1

5

当您使用连接将对象转换为字符串时,您会得到:[object Object]. 您真正想要的是将对象转换为 json。

'.../index.html#/admin?jsonObj='+JSON.stringify($scope.filmNames)

然后,在接收方,您需要对其进行解析,而不是对其进行字符串化。

console.log(JSON.parse(jsonObj));

我建议不要将 json 字符串称为“json objects”,这只会导致混乱。json 字符串并不总是代表对象。

于 2014-05-16T15:43:33.870 回答