簡體   English   中英

遷移到AngularJS 1.6.3后無法從服務獲取數據

[英]Cannot get data from service after migrating to AngularJS 1.6.3

遷移到AngularJS 1.6.3后,我改變了我的服務,如下所示:

這是我的服務:

MetronicApp.factory('MyService', ['$http', function($http) {
    return {
    get: function(id, success, error) {
        return $http.get(baseUrl + '/quotation/' + quotationid).then(success,error);
    }
  }
}]);

在ui-router中,我正在解析這樣的數據。

data: function(MyService, $stateParams) {
    return MyService.get($stateParams.id);
}

但在控制器中,數據未定義。 我哪里錯了?

我們在服務部分中使用以下代碼:

get: function(){
    return $http.get(url);
}

沒有應用任何回調,並在調用代碼中:

service.someMethod().then(function (result) {
      var data = result.data;
}

這是因為你沒有從success / error回調函數返回任何東西。 相反,我建議刪除.then(success,error); 來自get方法。 然后從解析中調用service get方法。

data: function(MyService, $stateParams) {
    return MyService.get($stateParams.id);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM