AngularJSは、ファクトリ/サービスを使用してバックエンドからデータを取得します

マヌエル

AngularJSに近づいていて、データベースからデータを取得したいと思っています。私はこれを行うことに成功しました

angular.module("myApp")
.controller("listaUtentiCtrl", function($scope, $http) {
    $http.get("backListaUtenti.php").success(function(data) { $scope.utenti=data } )
});

しかし、複数のコントローラーからのデータを使用するためにファクトリー/サービスを使用したい(しかし機能していない)

angular.module("myApp")
.factory("utentiService", function($http,$q) {
    var self = $q.defer();

    $http.get("backListaUtenti.php")
        .success(function(data){
            self.resolve(data);
        })
        .error(function(){
            alert("Error retrieving data!");
        })
    return self.promise;
});

angular.module("myApp")
.controller("utenteCtrl", function($scope, $routeParams, utentiService, filterFilter) {
    var userId = $routeParams.userId;
    $scope.utente = filterFilter(utentiService.utenti, { id: userId })[0];
});

angular.module("myApp")
.controller("listaUtentiCtrl", function($scope, utentiService) {
    $scope.utenti = utentiService.utenti;
});

私はどこで失敗していますか?

S.Klechkovski

問題はサービスの実装にあります。リファクタリングされたコードは次のとおりです。

angular.module("myApp")
.factory("utentiService", function($http) { 
    return {
        getData: function () {
            return $http.get("backListaUtenti.php").then(function (response) {
               return response.data;
            });
        }
    };
});

angular.module("myApp")
.controller("utenteCtrl", function($scope, $routeParams, utentiService, filterFilter) {
    var userId = $routeParams.userId;
    utentiService.getData().then(function(data) {
        $scope.utente = filterFilter(data, { id: userId })[0];
    });
});

angular.module("myApp")
.controller("listaUtentiCtrl", function($scope, utentiService) {
    utentiService.getData().then(function (data) {
        $scope.utenti = data;
    });
});

データが静的である場合は、リクエストをキャッシュして、次のような不要なリクエストを回避できます。

$http.get("backListaUtenti.php", { cache: true }); 

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

AngularJSは、ファクトリ/サービスを使用してバックエンドからデータを取得します

分類Dev

MediaProjection APIを使用して、バックグラウンドサービスクラスからスクリーンショットを取得する方法は?

分類Dev

ファイルリストから画像を削除し、APIリクエストを使用してサーバーにアップロードする方法は?

分類Dev

POSTリクエストを使用してノードサーバーからReactクライアントにデータを送り返します

分類Dev

サーバーを使用してファイルをバンドルし、HTTPリクエストを減らすことができますか?

分類Dev

ボタンクリックで色とテキストを変更するためにngClassを使用しています。データはデータテーブルを使用してリモートサーバーからフェッチされます

分類Dev

バックボーンビューを取得してテストデータをロードしますか?

分類Dev

AngularJSファクトリを使用してParse.comからデータを取得します

分類Dev

以下のHTTPリクエストを使用してサーバーからデータを取得する方法

分類Dev

BookshelfモデルとExpressサーバーを使用してAPIサービスをリファクタリングしてテストする方法は?

分類Dev

Angular:サービス/ファクトリからコントローラーにデータを渡します

分類Dev

レトロフィットを使用してAPIから以下のJSONデータを読み取る方法は?strutsとhibernateサービスから、APIからBeanクラスを使用してデータを取得および送信しています

分類Dev

サイファー-インデックスクエリからノードを再利用します

分類Dev

バックエンドサービスからのデータの行をListViewに配置します

分類Dev

Windowsサービスを使用して、デスクトップからSharePointにユーザープロファイル画像をアップロードします

分類Dev

データファイルから行数をカウントし、バッチスクリプトを使用してそれに応じて終了します

分類Dev

バッチスクリプトを使用して、特定のファイルをソースディレクトリからターゲットディレクトリおよびサブディレクトリにコピーします

分類Dev

クッキーを使用してリクエスト/レスポンスをバックエンドからフロントエンドにエクスプレスアンドリアクションで渡す以外の解決策はありますか?

分類Dev

Msalを使用してAADからトークンを取得しましたが、取得したトークンを使用してユーザープロファイルを取得できません。ノードバックエンドでトークンを検証する方法は?

分類Dev

クラスはKotlinまたはJavaでリフレクションを使用して、インターフェイスからデフォルトのメソッドをオーバーライドしているかどうかを確認する方法?

分類Dev

Angularjsサービス/ファクトリ内の入力データを取得します

分類Dev

文字列リクエストを使用してJSonファイルからデータを取得する方法

分類Dev

リンクされたサービスは、Azureデータファクトリで動的jsonをサポートしていますか?

分類Dev

Firebaseクラウド機能を使用してhttpリクエストからデータを取得する方法は?

分類Dev

phpスクリプトを使用してサーバーからファイルをダウンロードして名前を変更します

分類Dev

Get-AzureServiceRemoteDesktopExtensionまたは任意のコマンドレットを使用して、クラウドサービス(クラシック)のリモートデスクトップステータスを取得します

分類Dev

PHPサーバーサイドスクリプトからJSONデータを取得し、ドロップダウンに表示します

分類Dev

ネストされたグリッドビューは、内側のグリッドビューフッターボタンをクリックして外側のグリッドビュー行インデックスを取得します

分類Dev

AngularJS-ファクトリからデータを取得するための最良のアプローチであり、存在しない場合はhttpサービスを使用します

Related 関連記事

  1. 1

    AngularJSは、ファクトリ/サービスを使用してバックエンドからデータを取得します

  2. 2

    MediaProjection APIを使用して、バックグラウンドサービスクラスからスクリーンショットを取得する方法は?

  3. 3

    ファイルリストから画像を削除し、APIリクエストを使用してサーバーにアップロードする方法は?

  4. 4

    POSTリクエストを使用してノードサーバーからReactクライアントにデータを送り返します

  5. 5

    サーバーを使用してファイルをバンドルし、HTTPリクエストを減らすことができますか?

  6. 6

    ボタンクリックで色とテキストを変更するためにngClassを使用しています。データはデータテーブルを使用してリモートサーバーからフェッチされます

  7. 7

    バックボーンビューを取得してテストデータをロードしますか?

  8. 8

    AngularJSファクトリを使用してParse.comからデータを取得します

  9. 9

    以下のHTTPリクエストを使用してサーバーからデータを取得する方法

  10. 10

    BookshelfモデルとExpressサーバーを使用してAPIサービスをリファクタリングしてテストする方法は?

  11. 11

    Angular:サービス/ファクトリからコントローラーにデータを渡します

  12. 12

    レトロフィットを使用してAPIから以下のJSONデータを読み取る方法は?strutsとhibernateサービスから、APIからBeanクラスを使用してデータを取得および送信しています

  13. 13

    サイファー-インデックスクエリからノードを再利用します

  14. 14

    バックエンドサービスからのデータの行をListViewに配置します

  15. 15

    Windowsサービスを使用して、デスクトップからSharePointにユーザープロファイル画像をアップロードします

  16. 16

    データファイルから行数をカウントし、バッチスクリプトを使用してそれに応じて終了します

  17. 17

    バッチスクリプトを使用して、特定のファイルをソースディレクトリからターゲットディレクトリおよびサブディレクトリにコピーします

  18. 18

    クッキーを使用してリクエスト/レスポンスをバックエンドからフロントエンドにエクスプレスアンドリアクションで渡す以外の解決策はありますか?

  19. 19

    Msalを使用してAADからトークンを取得しましたが、取得したトークンを使用してユーザープロファイルを取得できません。ノードバックエンドでトークンを検証する方法は?

  20. 20

    クラスはKotlinまたはJavaでリフレクションを使用して、インターフェイスからデフォルトのメソッドをオーバーライドしているかどうかを確認する方法?

  21. 21

    Angularjsサービス/ファクトリ内の入力データを取得します

  22. 22

    文字列リクエストを使用してJSonファイルからデータを取得する方法

  23. 23

    リンクされたサービスは、Azureデータファクトリで動的jsonをサポートしていますか?

  24. 24

    Firebaseクラウド機能を使用してhttpリクエストからデータを取得する方法は?

  25. 25

    phpスクリプトを使用してサーバーからファイルをダウンロードして名前を変更します

  26. 26

    Get-AzureServiceRemoteDesktopExtensionまたは任意のコマンドレットを使用して、クラウドサービス(クラシック)のリモートデスクトップステータスを取得します

  27. 27

    PHPサーバーサイドスクリプトからJSONデータを取得し、ドロップダウンに表示します

  28. 28

    ネストされたグリッドビューは、内側のグリッドビューフッターボタンをクリックして外側のグリッドビュー行インデックスを取得します

  29. 29

    AngularJS-ファクトリからデータを取得するための最良のアプローチであり、存在しない場合はhttpサービスを使用します

ホットタグ

アーカイブ