我尝试从JSONPlaceholder数据中显示,我需要多个$http.get
,这是我的代码。问题是,从第二次调用我没有得到任何数据
MyAlbum1.controller('albumList', function($scope, $http) {
$http.get('http://jsonplaceholder.typicode.com/albums').
then(function(response) {
$scope.albumDetails = response.data;
});
$http.get('http://jsonplaceholder.typicode.com/users').
then(function(response) {
$scope.albumUsers = response.data;
});
});
如果我尝试在部分视图albumUsers.name
中显示,则不会显示。只有我先放$http.get('http://jsonplaceholder.typicode.com/users').
,但它不会显示albumDetails.id
那么如何获得多个http.get
?
由于
答案 0 :(得分:1)
你可以一个接一个地加载:
MyAlbum1.controller('albumList', function($scope, $http) {
$http.get('http://jsonplaceholder.typicode.com/albums').
then(function(response) {
$scope.albumDetails = response.data;
$http.get('http://jsonplaceholder.typicode.com/users').
then(function(response) {
$scope.albumUsers = response.data;
});
});
});
或
MyAlbum1.controller('albumList', function($scope, $http, $q) {
$q.all([$http.get('http://jsonplaceholder.typicode.com/albums'), $http.get('http://jsonplaceholder.typicode.com/users')]).then(function(response) {
});
});
答案 1 :(得分:0)
使用map_async
一次发送多个请求。首先将apply_async
注入控制器。
$q
答案 2 :(得分:0)
谢谢!在工作,在忙。这是我正在使用的代码:
MyAlbum.controller('albumList', function($scope, $http, $q) {
$http.get('http://jsonplaceholder.typicode.com/albums').
then(function(response) {
$scope.albumDetails = response.data;
});
$http.get('http://jsonplaceholder.typicode.com/users').
then(function(response) {
$scope.albumUsers = response.data;
});
$q.all(['http://jsonplaceholder.typicode.com/albums','http://jsonplaceholder.typicode.com/users',]).
then(function(response){
$scope.albumDetails = response[0].data;
$scope.albumUsers= response[1].data;
});
});
但是,在调用数据时,我需要执行以下操作:
User: {{albumUsers[1].name}}
喜欢,我需要[1]以便它能够正常工作。 感谢