我正在使用Restangular进行后端调用,并且只要URL提供如下数据,一切都可以正常工作:
如果我点击http://mysite/responses/
则响应看起来像
[
{"fname":"some guy",
"lname":"some name",
"dob":2091,
"job":"mgr",
"id":"100"
},
{"fname":"another guy",
"lname":"anpther name",
"dob":1991,
"job":"worker",
"id":"101"
},
{"fname":"someone",
"lname":"some name",
"dob":1997,
"job":"dev",
"id":"102"
},
{"fname":"some guy2",
"lname":"some name",
"dob":2091,
"job":"sec",
"id":"103"
}
]
一切正常
它包装在一个数组中,我的Restangular URL看起来像
RestangularProvider.setBaseUrl('http://mysite/responses/');
RestangularProvider.setRestangularFields({ id: 'id' });
而且一切正常
现在,我解构了后端,API以以下格式返回了数据
http://mysite/responses/100
{
fname:"some guy",
lname:"some name",
dob:2091,
job:"mgr",
id:"100"
}
http://mysite/responses/101
{
fname:"another guy",
lname:"another name",
dob:1991,
job:"sec",
id:"101"
}
http://mysite/responses/102
{
fname:"some name",
lname:"some person",
dob:1091,
job:"sec",
id:"102"
}
http://mysite/responses/103
{
fname:"a guy",
lname:"person name",
dob:1998,
job:"dev",
id:"103"
}
现在如果我打
http://mysite/responses/
我得到以下回应
http://mysite/responses/100
http://mysite/responses/101
http://mysite/responses/102
http://mysite/responses/103
http://mysite/responses/104
如您所见,该ID会附加到网址中,我需要获取此ID,进行一次Restangular调用并获取数据。 我如何遍历这多个http调用,获取id并将其放在Angular中。 我认为我没有为Restanglar正确构建BaseURl,因为我不确定如何获取ID。 谢谢您的帮助
您正在寻找的是routeParams
:
https://docs.angularjs.org/api/ngRoute/service/ $ routeParams
这与路线一起使用:
https://docs.angularjs.org/api/ngRoute/service/ $ route
例如:
$routeProvider.when('/Book/:bookId', {
templateUrl: 'book.html',
controller: function($scope, $routeParams) {
console.log($routeParams.bookId);
})
});