我正在使用此角度代码:
$http({
method: 'get',
url: 'json/test.json',
responseType: "json"
}).success(function(data, status, headers, config) {
console.log('Success: ' + data);
$scope.tests = data;
}).error(function(data, status, headers, config) {
console.log('Error: ' + data);
});
响应是这样的:
[{
id: 1,
name: 'aaaa',
age: 20
}, {
id: 2,
name: 'bbbbb',
age: 21
}]
在控制台中,它会打印:
Success: null
如何返回成功,但数据为空。
任何帮助表示赞赏!
答案 0 :(得分:2)
可能会发生这种情况,因为json
格式不正确。尝试:
[
{
"id": 1,
"name": "aaaa",
"age": 20
},
{
"id": 2,
"name": "bbbbb",
"age": 21
}
]
并使用
$http.get("json/test.json").success(function (data) {
console.log('success: ' + data)
});
或者你可以使用原始代码,但没有responseType
,因为@DeborahK想出了:
$http({
method: 'get',
url: 'json/test.json'
}).success(function(data, status, headers, config) {
console.log('Success: ' + data);
})
但是无论如何你需要正确格式化json
,否则angular会引发解析异常。
答案 1 :(得分:0)
我不知道你正在使用哪个版本的AngularJS,但假设是v1.6,那么试试这个:
$http.get("json/test.json").then(function(response) {
console.log('success: ' + response.data);
}).catch(function(response) {
console.log('error: ' + response.data);
});