在Angular的$ http请求中到达JSON的正确子节点的点符号不起作用?

时间:2013-07-22 20:36:45

标签: http angularjs

我是AngularJS的新手。我将一个命令发送到服务器,服务器给我回复。我的POST命令正常工作,因为我将响应放在警报视图中并将其作为JSON返回,因此我可以在警报视图中看到响应。

这是我的代码:

var appControllers = angular.module('app', ['jsonService']);
appControllers.controller('post', function($scope, $http) {

            $http({
                withCredentials: true,
                method : 'POST',
                url : 'http://myURL/command',
                data : 'myData',
                headers : {
                'Content-Type' : 'application/x-www-form-urlencoded;charset=UTF-8'
                }
                }).success(function (data, status, headers, config) {
                        var JSONData = JSON.stringify(data);
                        $scope.persons = JSONData;
                           alert(JSONData);// assign  $scope.persons here as promise is resolved here
                }).error(function (data, status, headers, config) {
                        $scope.status = status;
                         alert(status);
                });
    });

我的问题: 我想解析JSON中的一个特定项。我知道我应该使用点符号来达到JSON的合适子项,但是如果我使用点符号,它就不起作用了。

这是我的HTML代码:

<ul data-ng-controller="post">
        <li ng-repeat="person in persons">
        <div><a href="http://button2" data-role="button" ng-bind="person.firstName"></a></div>
        </li>
    </ul>

任何提示或帮助都会表示赞赏。

1 个答案:

答案 0 :(得分:1)

卸下:

  var JSONData = JSON.stringify(data);

只需使用“数据”即可。您正在将您的javascript对象转换回字符串。您想将它用作对象。

  $scope.persons = data;