角度范围值未显示

时间:2014-08-04 16:45:47

标签: javascript angularjs ionic-framework

我收到了一个从数据库中返回一些值的服务。运作良好:(该服务称为朋友)

get: function(friendId) {
            // $http returns a promise, which has a then function, which also returns a promise
            promise2 = $http({
                url: "http://dev.tellthedj.de/db/getGutschein.php",
                method: "POST",
                data: {"gutscheinId":friendId}
            }).then(function(response2) {
                // The then function here is an opportunity to modify the response
                // The return value gets picked up by the then in the controller.
                return response2.data;
            });
            // Return the promise to the controller
            return promise2;
        }

此服务正在为正确的json返回正确的值。现在我需要在我的视图中显示这些值。因此我得到了这个控制器:

.controller('FriendDetailCtrl', function($scope, $stateParams, Friends) {
    Friends.get($stateParams.friendId).then(function(b) {
        $scope.friend = b;
        console.log($scope.friend);
    });
})

这应该是正确的想法!这是HTML

<ion-view title="{{friend.name}}">
  <ion-content has-header="true" padding="true">
    {{friend.id}}
    {{friend.name}}
  </ion-content>
</ion-view>

窗口为空。没有friend.id,没有friend.name。找不到错误...

更新 设置{{friend}}或{{friend | json}}正在视图中写入完整的返回json数据。当我尝试{{friend.name}}(包含在该json对象中)时,没有返回。

来自$ http服务的返回Object完全相同,就像来自另一个可用的Web服务的另一个Object一样!

1 个答案:

答案 0 :(得分:0)

根据您的描述,服务器的响应似乎不是JSON对象,而是它的字符串表示形式。 尝试将JSON.parse()添加到您的代码中,如下所示:

promise2 = $http({
                url: "http://dev.tellthedj.de/db/getGutschein.php",
                method: "POST",
                data: {"gutscheinId":friendId}
            }).then(function(response2) {
                // The then function here is an opportunity to modify the response
                // The return value gets picked up by the then in the controller.
                return JSON.parse(response2.data); //<--- PARSE STRING TO OBJECT
            });