Reputation: 1178
I'm using this angular code:
$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);
});
the response is like this:
[{
id: 1,
name: 'aaaa',
age: 20
}, {
id: 2,
name: 'bbbbb',
age: 21
}]
In the console, it prints:
Success: null
how come it returns success, but data is null.
any help appreciated!
Upvotes: 3
Views: 7350
Reputation: 148
I don't know which version of AngularJS you are using, but assuming v1.6, then try this:
$http.get("json/test.json").then(function(response) {
console.log('success: ' + response.data);
}).catch(function(response) {
console.log('error: ' + response.data);
});
Upvotes: 0
Reputation: 4332
This might happen because json
is not formatted properly. Try:
[
{
"id": 1,
"name": "aaaa",
"age": 20
},
{
"id": 2,
"name": "bbbbb",
"age": 21
}
]
and use
$http.get("json/test.json").success(function (data) {
console.log('success: ' + data)
});
or you may use your original code but without responseType
as @DeborahK figured out:
$http({
method: 'get',
url: 'json/test.json'
}).success(function(data, status, headers, config) {
console.log('Success: ' + data);
})
But anyway you would need to format your json
properly, otherwise angular will raise parsing exception.
Upvotes: 3