Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angularjs没有';t返回字符串值,但不返回其他类型_Javascript_Angularjs_Typescript - Fatal编程技术网

Javascript angularjs没有';t返回字符串值,但不返回其他类型

Javascript angularjs没有';t返回字符串值,但不返回其他类型,javascript,angularjs,typescript,Javascript,Angularjs,Typescript,我使用Typescript和Angularjs从服务器获取数据,但是当我尝试在页面上显示数据时,只有字符串类型没有显示,而其余类型则按预期显示。数据被解析为json,我可以看到我想要的数据。我不确定是angularjs还是typescript,尽管我认为它是typescript。我可能错过了什么 当计数按预期显示时,名称属性不显示 var promise = $http.get("/data/book").success( function (data) {

我使用Typescript和Angularjs从服务器获取数据,但是当我尝试在页面上显示数据时,只有字符串类型没有显示,而其余类型则按预期显示。数据被解析为json,我可以看到我想要的数据。我不确定是angularjs还是typescript,尽管我认为它是typescript。我可能错过了什么

计数按预期显示时,
名称
属性不显示

 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));
                    }
var promise=$http.get(“/data/book”).success(
功能(数据){
var响应=数据;
$scope.Book=[];
对于(变量i=0;i
您几乎肯定想要反序列化消息,因为您将拥有一个JSON字符串,而不是JavaScript对象:

var response = JSON.parse(data);
如果您确定Angular已经按照@aapierce的注释为您完成了此操作,则应检查对象的结构。例如,可能怀疑以下行:

var response = data;
for (var i = 0; i < response.length; i++) {
var响应=数据;
对于(变量i=0;i

例如,数组是响应的父级吗?可能是(例如)
response.books.length
而不是
response.length
。显然,这完全取决于JSON,因此如果您发布,答案可能会更加明确。

您的
数据
看起来像什么?如果可以,请发布一些JSON。此外,我假设您正在使用
ng repeat
展开
Book
数组ost也支持该代码。不完全正确。基于,
数据
对象可以是JSON对象,而不是字符串。由于可以请求任何类型的数据(不仅仅是JSON),我认为Angular足够聪明,可以查看HTTP响应的
内容类型
头并对其进行适当的解析(然而,在10分钟的搜索中,我无法找到任何确定的来源来证实或否认这一点)。我得到了它,显示了所需的信息。这只是我在代码中犯的一个小错误。我不需要反序列化消息,因为我从服务器收到的数据是JSON字符串。@Lynn如果你不介意,请发布“小错误”这是你在回答中提出的。其他人稍后可能会发现这个问题,想知道你是如何解决问题的!@aapierce你是对的-Angular JS文档说,如果检测到JSON响应,它将反序列化JSON