2016-10-28 158 views
0

我想从指定的URL返回JSON数据,但当警报弹出它只是显示[对象对象]。我打算日期显示在日历中,但仅限于您进入json的日期,而不是所有日子。我该怎么做?JSON返回[对象对象] angularjs

我的日历

enter image description here

这里是JSON的一个例子。

{ 
    "title": "example glossary", 
    "start": "2016-10-22", 
    "allDay": false 
} 

控制器

$scope.setDayContent = function(date) { 

    return $http  ({ 
     method : "GET", 
     url : "app/components/home/controller/test_calendar.json" 
     }).then(function mySucces(response) { 
      return response.data;    
     }, function myError(response) { 
      $scope.valor = response.statusText; 
     }); 

}; 

如果我把它这样,它工作正常<p>A data {{valor.start}}</p>,但我要的是出现在日历上,然后在错误出现[对象的对象。

+0

打印使用'的console.log(响应)错误;'看的对象。警报无法将对象文字解析为字符串。 –

+0

警报在哪里? –

+0

如果我把console.log(response.data)他给我的所有参数在我的JSON对象,但我只有一个对象,并循环。返回20个对象是否正常?我只有1 –

回答

0

尝试的onSuccess函数来设置值:

$scope.setDayContent = function(date) { 
    return $http  ({ 
     method : "GET", 
     url : "app/components/home/controller/test_calendar.json" 
    }).then(function(response) { 
     $scope.valor = response.data; 
    }); 
}; 
1

var data = { 
 
     "title": "example glossary", 
 
     "start": "2016-10-22", 
 
     "allDay": false 
 
    } 
 
var json = JSON.stringify(data); 
 
alert(json)

{ 
    "title": "example glossary", 
    "start": "2016-10-22", 
    "allDay": false 
} 

这不是JSON,这是JS对象文本。

使它成为json。

var data = { 
     "title": "example glossary", 
     "start": "2016-10-22", 
     "allDay": false 
    } 
var json = JSON.stringify(data); 
0

我不知道你这是什么意思:“我打算将日期显示在日历中,但仅在一天,你进入JSON,而不是所有的日子。”

你在哪里进入JSON(这可能不是你的意思,但这就是它所说的)。

然后你说“如果我这样做,它的工作原理......”但似乎工作的是,你的电话会导致错误。

另外,“valor”出现在您的错误消息中。我假设你不想在日历中显示错误信息。

如果我不得不猜测,我会说你可能将Succes中的整个返回对象(希望这里只是你的示例中的一个拼写错误)绑定到你的模板中,就像{{theObj}},而不是你想要的具体价值,比如“{{theObj.date}}”等等。

(BTW我精明白你所说的“这是我的JSON”的意思。)