Angularはオブジェクトを表示しません

フレンク

だから私はウェブアプリケーションで忙しくて、今はオブジェクトの解析で立ち往生しています。私がやろうとしたのは、すべての結果のIDを取得することですが、コンソールに未定義が返されます。

私は何を試しましたか:

    var app = angular.module("DB", []);

    app.controller("Controller", function($scope, $http) {
      $http.defaults.headers.common["Accept"] = "application/json";
        $http.get('api_url').

        success(function(data, status, headers, config) {
          $scope.games = data.results;
          $scope.id = data.results.id; 
         //Do i need a foreach here because it doesn't loop through all records and it gives me undefined.

        $http.get('http:/api/id/' + $scope.id + '?api_key=', function(e){ 

        }).
          success(function(data, status, headers, config) {
            $scope.details = data;
            console.log(data);
            //this returns the complete JSON
          });
        }).
        error(function(data, status, headers, config) {
          //handle errors
      });
    });

最初のhttp.getは、次のようなJSONをループします。

"results": [
    {
    "easy": false,
    "id": 1,
    "title": "title",
    },
    {
    "easy": false,
    "id": 2,
    "title": "title",
    },
    {
    "easy": true,
    "id": 2,
    "title": "title",
    }
]

2番目に行う必要があるのは、JSONからすべてのIDを取得し、新しいGETを開始することです。

$http.get('http:/api/id/' + $scope.id + '?api_key=', function(e){ 

}).
  success(function(data, status, headers, config) {
    $scope.details = data;
    console.log(data.data);
  });
}) 

問題は、つまり、$scope.id = data.results.id;何も取得していないということです。すべてをループするために、foreachまたは何かが必要ですか?

そしてそれを表示してみました:

 <div ng-repeat="detail in details">
    {{ detail }}
    {{ detail.adult }}
</div>

ただし、何も表示されません(fyi iは、テストのために$ scope.id = data.results.id;を$ scope.id = data.results [0] .id;に変更しました)

2番目のGETのJSONは次のようになります。

{
  "adult": false,
  "collection": {
    "id": 131295,
    "name": "Collection",
  },
  "levels": [{
    "id": 28
  }, {
    "id": 12
  }, {
    "id": 878
  }],
  "homepage": "google",
  "id": 100402,
  "overview": "lorem ipsum"
}

たとえば、{{detail.adult}}でオブジェクトにアクセスできません。

ジョセップ

理由data.results.idので、何も返しませんがあるdata.resultsオブジェクトの配列です。必要なのがオブジェクトのIDを持つ配列であるdata.results場合は、次のよう実行できます。

var resultIDs = data.results.map(function(result){return result.id;});

よくわかりませんが、これがあなたの望むものだと思います。

var app = angular.module("DB", []);

app.controller("Controller", function($scope, $http) {
  $scope.details = [];
  $http.defaults.headers.common["Accept"] = "application/json";
  $http.get('api_url').
  success(function(data, status, headers, config) {
      $scope.games = data.results;
      for(var i =0;i<$scope.games.lenght;i++){
         $http.get('http:/api/id/' + $scope.games[i].id + '?api_key=', function(e){ 

          }).
          success(function(data, status, headers, config) {
              $scope.details.push(data);
          });
       }
    }).
    error(function(data, status, headers, config) {
      //handle errors
  });
});

ただし、使用しているAPIに、単一のIDではなくIDの配列を受け入れるメソッドがあるかどうかを確認するので、そのように繰り返す必要はありません

このAPIがRESTfulサービスである場合、次のように反復せずに実行できます。

var app = angular.module("DB", []);

app.controller("Controller", function($scope, $http) {
  $scope.details = [];
  $http.defaults.headers.common["Accept"] = "application/json";
  $http.get('api_url').
  success(function(data, status, headers, config) {
      $scope.games = data.results;
      var resultIDs = data.results.map(function(result){return result.id;});
       $http.get('http:/api?id=' + resultIDs.join(',') + '?api_key=', function(e){ 

       }).
       success(function(data, status, headers, config) {
            $scope.details = data;
       });
    }).
    error(function(data, status, headers, config) {
      //handle errors
  });
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JListはオブジェクトを表示しませんか?

分類Dev

InterfaceBuilderはオブジェクトを表示しません

分類Dev

ListPickerはオブジェクトのリストを表示しません

分類Dev

ngModelはmat-selectでオブジェクトの値を表示しません

分類Dev

OpenGLプログラムはオブジェクトを表示しませんか?

分類Dev

JTableはオブジェクト[] []データを表示しません

分類Dev

`this`オブジェクトはオブジェクトを返しません

分類Dev

Angular6-ngIfはオブジェクトを破壊しません

分類Dev

Angular5はHTMLへのインターフェースオブジェクトを表示できません

分類Dev

Angular Mat AutoCompleteは、バックエンドから返されたオブジェクトのドロップダウンリストを表示/表示しません

分類Dev

ArrayList removeAll()はオブジェクトを削除しません

分類Dev

VisualStudioCodeはPythonオブジェクト属性を提案しません

分類Dev

PandasSeriesオブジェクトは値を更新しません

分類Dev

SQLはオブジェクトを挿入しません

分類Dev

続編findOrCreate()はオブジェクトを作成しません

分類Dev

CoreDataはオブジェクトを上書きしません

分類Dev

mouseJointはxcodeでオブジェクトを取得しません

分類Dev

PInvokeはオブジェクトを変更しません

分類Dev

PInvokeはオブジェクトを変更しません

分類Dev

Memorycacheは私のオブジェクトを保存しません

分類Dev

FactoryGirlはオブジェクトをDBに保存しません

分類Dev

AJAXはオブジェクトを返しません

分類Dev

HQLはオブジェクトを返しません

分類Dev

AndroidDBFlowはオブジェクトを保存しません

分類Dev

getURL は promise オブジェクトを返しません

分類Dev

IHttpActionResultはJSONオブジェクトを返しません

分類Dev

VueEventBusはオブジェクト属性を転送しません

分類Dev

Vue.setはオブジェクトを更新しません

分類Dev

Angular2-jsonオブジェクトを表示できません

Related 関連記事

  1. 1

    JListはオブジェクトを表示しませんか?

  2. 2

    InterfaceBuilderはオブジェクトを表示しません

  3. 3

    ListPickerはオブジェクトのリストを表示しません

  4. 4

    ngModelはmat-selectでオブジェクトの値を表示しません

  5. 5

    OpenGLプログラムはオブジェクトを表示しませんか?

  6. 6

    JTableはオブジェクト[] []データを表示しません

  7. 7

    `this`オブジェクトはオブジェクトを返しません

  8. 8

    Angular6-ngIfはオブジェクトを破壊しません

  9. 9

    Angular5はHTMLへのインターフェースオブジェクトを表示できません

  10. 10

    Angular Mat AutoCompleteは、バックエンドから返されたオブジェクトのドロップダウンリストを表示/表示しません

  11. 11

    ArrayList removeAll()はオブジェクトを削除しません

  12. 12

    VisualStudioCodeはPythonオブジェクト属性を提案しません

  13. 13

    PandasSeriesオブジェクトは値を更新しません

  14. 14

    SQLはオブジェクトを挿入しません

  15. 15

    続編findOrCreate()はオブジェクトを作成しません

  16. 16

    CoreDataはオブジェクトを上書きしません

  17. 17

    mouseJointはxcodeでオブジェクトを取得しません

  18. 18

    PInvokeはオブジェクトを変更しません

  19. 19

    PInvokeはオブジェクトを変更しません

  20. 20

    Memorycacheは私のオブジェクトを保存しません

  21. 21

    FactoryGirlはオブジェクトをDBに保存しません

  22. 22

    AJAXはオブジェクトを返しません

  23. 23

    HQLはオブジェクトを返しません

  24. 24

    AndroidDBFlowはオブジェクトを保存しません

  25. 25

    getURL は promise オブジェクトを返しません

  26. 26

    IHttpActionResultはJSONオブジェクトを返しません

  27. 27

    VueEventBusはオブジェクト属性を転送しません

  28. 28

    Vue.setはオブジェクトを更新しません

  29. 29

    Angular2-jsonオブジェクトを表示できません

ホットタグ

アーカイブ