Javascript 随机用户生成器API-按ID获取用户
我是Angular的新手,但我成功地进行了Ajax调用,并在列表视图中从随机用户生成器API打印出用户。 现在我想在单击用户时创建一个详细视图。 在我的HTML中,我进行了一个函数调用:fetchInfoById(user.id.value) 在我的脚本中,函数:Javascript 随机用户生成器API-按ID获取用户,javascript,angularjs,Javascript,Angularjs,我是Angular的新手,但我成功地进行了Ajax调用,并在列表视图中从随机用户生成器API打印出用户。 现在我想在单击用户时创建一个详细视图。 在我的HTML中,我进行了一个函数调用:fetchInfoById(user.id.value) 在我的脚本中,函数: $scope.fetchInfoById = function(info_id) { $http.get("https://randomuser.me/api/?id.value="+info_id) //als
$scope.fetchInfoById = function(info_id) {
$http.get("https://randomuser.me/api/?id.value="+info_id)
//also tried: $http.get("https://randomuser.me/api/?id/value="+info_id)
.success(function(data) {
$scope.oneUserResult = data.results;
});
}
它确实为我提供了详细视图的用户,但不是所选的用户。我做错了什么 将代码更改为:
$scope.fetchInfoById = function(info_id) {
$http.get("https://randomuser.me/api/?id="+info_id)
//also tried: $http.get("https://randomuser.me/api/?id/value="+info_id)
.success(function(data) {
$scope.oneUserResult = data.results;
});
}
另外,请确保向该函数传递了正确的值。从API调用“”获取用户列表 在屏幕上显示它们 单击一条记录,从先前获取的用户列表中获取该特定记录的详细信息
$scope.getUserById= function(userId) {
return $scope.users.filter(function(user) {
return user.id.value=== userId;
})[0]; // apply necessary null / undefined checks wherever required.
}
谢谢你的好建议。 我知道这是一个随机生成器,但将请求的参数设置为:“seed=…”,每个listview请求上都会显示相同的人:
$http.get('https://randomuser.me/api/?results=15&seed=abc&inc=gender,name,location,email,dob,phone,cell,id,picture,info,nat&nat=gb')
.success(function(response){
$scope.userResult = response.results;
});
然后,我获取每个人的id,并将其作为参数传递给请求详细视图的函数调用
我尝试使用console.log()来确保为详细视图请求传入了正确的值,然后甚至对
请求的参数,即:
$scope.getInfoById = function(info_id) {
console.log("from HTML: "+info_id.value ); // = JK 00 46 67
$http.get("https://randomuser.me/api/?id="+'JK 00 46 67 H') ...
API后面的jason数据对于id属性的格式如下:
{
"results": [
{
"id": {
"name": "BSN",
"value": "04242023"
},...
我还没有弄清楚如何通过id获取一个用户。一直获取不同的用户,即使使用硬编码的id。。。
我的解决方案不是提出第二个请求,而是传递“单击的用户”作为详细视图的参数 使用ng模型的另一种方法:
$scope.user = {};
$scope.fetchInfoById = function() {
$http.get("https://randomuser.me/api/?id="$scope.user.id)
.success(function(data) {
$scope.oneUserResult = data.results;
});
}
每次调用API时,它都会返回一个随机用户。您最好捕获整个列表并将其缓存在内存中,然后访问它,而不是每次都尝试进行实时API调用。您需要将请求URL设置为以下格式:
$scope.user = {};
$scope.fetchInfoById = function() {
$http.get("https://randomuser.me/api/?id="$scope.user.id)
.success(function(data) {
$scope.oneUserResult = data.results;
});
}