2016-08-10 20 views
0

私はかなり長い間これに固執しました。私のサービスは期待通りのデータが得られなかったので動作しませんでした。しかし、コントローラに$httpリクエストを入れてもうまくいきます。Angular.JSサービスが動作しません

(function(){ 

    function controlProvider($http) { 
     this.getStatus = function (callback){ 
      $http.get("http://localhost:8080/getStatus") 
       .success(function (data) { 
        callback(data); 
       }); 
     }; 

    } 
    controlApp.service('controlProvider', controlProvider); 


    function controlController ($scope,controlProvider){ 
     controlProvider.getStatus = (function (product) { 

       $scope.product = product; 
     }); 
    } 
    controlApp.controller("controlController", controlController); 

    })(); 

助けがあれば大歓迎です。ありがとうございました。

+0

あなたがコールバックを行う方法は、角度を壊すことです。あなたはあなたのサービスをコントローラに呼び出す必要があります。サービスに関数を与えないでください。 – ssbb

+0

こんにちはssbb、あなたのコメントのためのthx、サービスの部分は正常に動作しています。私はちょうど私のコードを以下の答えに変更しました。 –

答えて

1
//maybe like this ? 
controlProvider.getStatus(function(product) { 
    $scope.product = product; 
}) 
+0

Great Thx !!!それは動作します、なぜ私の以前のコードが動作していないのか説明しようとすることはできますか? –

+0

@LeongSzeKim controlProvider.getStatus no callという新しい関数が追加されました。 'のように' contrilProvider.getStatus = function(product){...}; ' – godtail

+0

私はあなたが何を意味するか、とてもありがとうございます。 –

関連する問題