2017-03-16 3 views
0

私はの初心者です。角度JS。私はオンラインチュートリアルを参照して、$ httpサービスに出くわしました。コードのこの部分で

(function() { 
    "use strict"; 

    angular 
     .module("ngClassifieds") // referring module which is already created 
     .controller("classifiedsCtrl", function ($scope, $http) { 

      $http.get('data/classifieds.json') 
       .then(function(classifieds){ 
        $scope.classifieds = classifieds.data; 

       }) 
     }); 
})(); 

、私はこれらの行を把握することはできませんよ。 誰もが実際にここで何が起こるか説明できますか?

$http.get('data/classifieds.json') 
    .then(function(classifieds){ 
     $scope.classifieds = classifieds.data; 
    } 


私は私のdata/classifieds.jsonファイルにこのdataを持っています。

私の質問は、で言及されているdataとまったく同じですか?

  • classifieds.dataはここに表示されますか?
  • どのような情報が含まれていますか?
  • $scope.classifiedsにはどのような結果が割り当てられますか? https://docs.angularjs.org/api/ng/service/の$ Q:
+0

可能な重複から[私はどのように非同期呼び出しから応答を返しますか?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) – Igor

+0

チュートリアルを読むのがうまくいく、それは始まりです... 1)[$ httpドキュメント](https://docs.angularjs.org/api/ng/service/$http)を参照してください。大胆な手紙。2)あなたはあなたのコピー/ペーストのリンクとコードで参照している 'data/classifieds.json'ファイルに行きましたか? (*あなたがコピー/ペーストしたものを読んだり、開いたり、内部にあるものを見るのに役立ちます*。) 3)その変数はコールバックで受け取った返されたデータへの参照を持つようになりました。 – Igor

答えて

2

$ HTTPはそれが非同期呼び出し、角度の使用の約束のためのQ呼ばれるライブラリのフォークだ、約束を返し、あなたはここで$ Qのマニュアルを参照してくださいすることができます。 プロビジョニングが完了すると、非同期呼び出しが完了し、非同期呼び出しの結果に応じてメソッド呼び出し成功またはエラーコールバックが呼び出されます。

.then(successCallback、[errorCallback]、[notifyCallback]) - かかわらず 約束があったか、または解決または拒否されたときの、その後、非同期とすぐ として成功またはエラーコールバックの 1を呼び出します結果は利用可能です。コールバックは、単一の引数で呼び出されます。 結果または拒否の理由。さらに、 の約束が解決または拒否される前に、通知コールバックが を0回以上呼び出して進捗状況を示すことがあります。

成功コールバックに渡される引数は、要求応答に関する情報を持つオブジェクトです。 dataプロパティには、応答の本体が含まれています(他の方法ではdata/classifieds.jsonファイルのすべてのコンテンツが含まれているため、$scope.classifiedsにはdata/classifieds.jsonが返すjsonが含まれます)。ここで

約束し、$ Qについての優しい記事:http://www.dwmkerr.com/promises-in-angularjs-the-definitive-guide/

1

シンプルなGETリクエストの例のコードでAngularJS Docs.

$http({ 
    method: 'GET', 
    url: '/someUrl' 
}).then(function successCallback(response) { 
    // this callback will be called asynchronously 
    // when the response is available 
    }, function errorCallback(response) { 
    // called asynchronously if an error occurs 
    // or server returns response with an error status. 
    }); 

、の

$http.get('data/classifieds.json') // This is the URI of your json file 
    .then(function(classifieds){ // Success callback 
     $scope.classifieds = classifieds.data; // Here, you are assigning response's data into $scope.classifieds 
    } 
関連する問題