2016-09-06 13 views
4

スタックオーバーフローに関する多くの類似の質問がありましたが、このヒントを使用することは役に立ちませんでした。

私はangular.jsを学習しており、APIで$ http.getを試していますが、変数に応答を割り当てる際に問題が発生しています。

以下のgetリクエストは、ロード時に実行されます。以下の(私は、ブラウザのコンソールビューでこれを見ることができますが、データが表示されていない。)リクエストに対するレスポンスです

[ 
     { 
     name: 'Dowayne', 
     surname: 'Breedt', 
     catchphrase: 'wallawallabingbangamIright?', 
     reviews: [ 
       { 
       stars: 5, 
       body: 'i love stuff', 
       soldOut: false, 
       }, 
       { 
       stars: 4, 
       body: 'meh', 
       soldOut: true, 
       }, 
       { 
       stars: 3, 
       body: 'shittake mushrooms', 
       soldOut: false, 
       }, 
       ] 
     } 
    ]; 

var app = angular.module('store',[]); 
    app.controller("StoreController", function($scope,$http){ 
     var request = $http.get('/test').then(function (response) { 
      $scope.data = response; 
      return response; 
     }); 
     request.then(function (data) { 
      this.products = $scope.data 
     }); 
    }); 

(これは私のapp.jsファイルです)

これはすべての迷惑データです(実際は練習用ですが)私はこのHTMLページに表示されない理由を理解していません。上記のスニペットをthis.productsに直接割り当てると動作します完全に/

私は何が欠けていますか?

ありがとうございます。

+1

なぜあなたは.then()を2回使用していますか –

+0

ブラウザに表示されたオブジェクトの「データ」または「製品」は何ですか? –

+0

私はそれを編集して余分なものを削除しました。それは以前と同じように動作します。ブラウザが表示するはずのものはすべて、レビューの本文です。これはこれを行いますが、http.getで情報を取得すると、それは動作しません。 inspect要素を見ると、/ testへのリクエストを見ることができ、上記の応答を返します。 –

答えて

1

使用がデータを取得するその後、として使用.dataのプロパティを約束

var app = angular.module('store',[]); 
app.controller("StoreController", function($scope,$http){ 
    var request = $http.get('/test').then(function (response) { 
     $scope.data = response.data; 
     return response.data; 
    }); 
}); 
+0

こんにちは。返信ありがとう、私は上記と私の要求を置き換え、this.productsへの応答を割り当て、それでも変数にオブジェクトを割り当てていません。 –

+0

こんにちは、これがうまくいって、私はAPIの終わりでJsonを手作業でフォーマットするのではなく、通常のPHP配列をjson_encodeしなければならないことに気付きました。 –

-1

以下の構文を試してください。

$http.get('/test').success(function(response) { 
     $scope.products= response.data; 

    }); 
+0

こんにちは、おかげで私は。これを試しても、それは依然として私の要求と同じデータを取得しますが、それでも必要な情報は表示されません。私のレスポンスのフォーマットを違うものにしてはいけないのですか? –

関連する問題