私のコードのこの特定の部分で数週間私の頭を傷つけていました。私が持っているものは、ajaxを介してデータを取得する単純なカスタムサービスです。次にポストプロセスを実行し、最後にそのデータをコントローラに戻したいと考えています。私のサービスが厳しくても、私のオブジェクトを正しく作成しています。角度 - コントローラにデータを戻さない単純なカスタムサービス
"deferred.promise"メソッドを使用しようとしましたが、コントローラにデータを返すようですが、何らかの理由でコントローラからアクセスできない$$状態のオブジェクトが返されているようです。これはまったく別の問題です。
データをコントローラに返すだけで済みますが、すべてのポストプロセスは私のサービスで処理する必要があります。これが可能なら誰でも知っていますか?
これは私が得たものです。
マイサービス:
var app = angular.module('myApp', []);
app.factory('MyService', function($http, $q, $timeout){
var My_Stored_Data = {}
return {
load_my_data_service: function(){
$http({
method: 'GET',
url: 'AJAX PATH',
headers: { "Accept": "application/json;odata=verbose;charset=utf-8"}
}).then(function(data){
//post-process my data before returning it to the controller $scope.return_my_data_here
My_Stored_Data = data;
My_Stored_Data.data_result_1 = My_Stored_Data.data_result_1.split("\r\n");
My_Stored_Data.data_result_2 = My_Stored_Data.data_result_2.split("\r\n");
console.log(My_Stored_Data)//logs shows the that "My_Stored_Data" has processed my data correctly.
return My_Stored_Data //Return my data tot he controller $scope.return_my_data_here.
});
}
}
});
マイコントローラ:
app.controller('MyController', function ($scope,$q,MyService) {
$scope.fetch_my_data = function(){
$scope.return_my_data_here = MyService.load_my_data_service();
}
$scope.fetch_my_data() //Initiate on page load
});
私はAli Baigの答えに対するコメントにこれを追加したでしょうが、十分な担当者がいません。 – Ynot
私は離れていた、ちょうどそれを見た!あなたはスポットです! –
実際に働いたうわー!これが数週間続いています。どうもありがとうございます! –