我有一个角度应用程序,我需要调用Web服务。我必须调用两个不同的URL才能获取数据。在我的第一个URL中,就像==> abc.com/student/3 这是学生的列表。另一个URL是 abc.com/parent/idofstudent3 当我在第二个URL中通过3的学生ID时,我需要从第二个URL获取父级名字。
我能够检索第一个URL数据,但是我无法通过将第一个记录数据传递到 ng-repeat 中来检索第二个URL数据。您能帮我如何在网页中检索父母名称吗?
html页
<h1 ng-repeat="x in myWelcome">
{{x.firstname}} || {{x.parentId}} </h1>
在这里,而不是显示 parentID 我需要调用另一个Web服务来通过将 parentID 作为参数显示父母名称。如何在此处致电另一个Web服务?
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$http.get("abc.com/student/3")
.then(function(response) {
$scope.myWelcome = response.data;
});
});
</script>
==>第一个网络服务响应就像:
{
"student":[
{
"name":"john",
"parentId": 12,
"address":"NYC"
},
{
"name":"Rohi",
"parentId": 14,
"address":"NJ"
},
]
}
==>第二个网络服务响应是这样的,当parentid = 12:
{
"firstName": "Sr. John",
}
======> when parentIS 14
{
"firstName": "Sr. Rohi",
}
-------------------------
firstname || parentName
-------------------------
John || Sr. John
Rohi || Sr. Rohi
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$scope.myWelcome = []
$http.get("abc.com/student/3")
.then(function(response) {
$scope.StudentData = response.data;
if($scope.StudentData){
$scope.myWelcome.push($scope.StudentData)
$http.get("abc.com/parent/$scope.StudentData.studentId")
.then(function(response) {
$scope.parentData = response.data;
$scope.myWelcome.push($scope.parentData)
});
}
});
});
</script>
我想这可能会帮助您
当前,您正在错误的范围对象中搜索Parent details
;myWelcome
对象包含第一个服务调用中的数据,该数据仅返回list of student
详细信息。
您可以定义一个新的范围对象,并通过第二个服务调用将数据绑定到它,该呼叫包含父详细信息;然后,您可以在ng-repeat
中使用该对象。