Javascript 随机用户生成器API-按ID获取用户

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

我是Angular的新手,但我成功地进行了Ajax调用,并在列表视图中从随机用户生成器API打印出用户。 现在我想在单击用户时创建一个详细视图。 在我的HTML中,我进行了一个函数调用:fetchInfoById(user.id.value) 在我的脚本中,函数:

$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; 
   }); 
}