angularjs不返回字符串值,而是返回其他类型

时间:2014-05-29 17:52:46

标签: javascript angularjs typescript

我使用Typescript和Angularjs从服务器获取数据,但是当我尝试在页面上显示数据时,只有字符串类型不显示,而其余字符串按预期显示。数据被解析为json,我可以看到我想要的数据。虽然我认为它是打字稿,但我不确定它的角度或打字稿是否合适。我可能错过了一些东西。

Name按预期显示时,Count属性无法显示

 var promise = $http.get("/data/book").success(
                function (data) {
                    var response = data;
                    $scope.Book= [];
                    for (var i = 0; i < response.length; i++) {
                        var Name = response[i].Name;
                        var Count = response[i].Count;

                        $scope.Book.push(new Book(Name, Count));
                    }

1 个答案:

答案 0 :(得分:0)

您几乎肯定希望反序列化消息,因为您将拥有JSON字符串,而不是JavaScript对象:

var response = JSON.parse(data);

如果你确定Angular已经根据@aapierce的评论为你做了这个,你应该检查对象的结构。例如,以下行可能是可疑的:

var response = data;
for (var i = 0; i < response.length; i++) {

例如,数组是响应的父级吗?也许你追求(例如)response.books.length而不是response.length。显然,这完全取决于JSON,所以如果你发布答案可以更明确。