如何从Angularjs CacheFactory中提取响 应体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从Angularjs CacheFactory中提取响 应体相关的知识,希望对你有一定的参考价值。

我是Angularjs的新手,并试图学习cachefactory。我无法使用cachefactory读取响应数据。到目前为止,我只是在调用其余的api后立即尝试在控制台上打印它。我的javascript控制器是:

(function() {
    "use strict";
    angular
        .module("productManagement")
        .controller("WelcomeCtrl",
            [ '$scope',
                '$http',
                '$timeout',
                "$interval",
                "$cacheFactory",
                WelcomeCtrl ])

    function WelcomeCtrl($scope, $http, $timeout, $interval, $cacheFactory) {
    var onUserComplete = function(response) {

            $scope.fname = response.data.firstName;

            console.log("response.firstName:"+response.data.firstName);

            var $httpDefaultCache = $cacheFactory.get('$http');

            var cachedData = $httpDefaultCache.get('./webapi/details');
            console.log("cachedData print:"+cachedData);

        var onError = function(reason) {
            $scope.error = "Could not fetch the data";
        };

        // GET The values from Rest API
        $http({
            method: 'GET',
            url: './webapi/details',
            cache: true 
        })
        .then(onUserComplete, onError);        

    }
}());

Webservice的输出是。我可以在网络中看到输出,也可以在控制台上打印:

{"id":"1234","firstName":"NoName","lastName":"Newbie"}

在控制台上打印缓存数据时,会打印出http状态代码以及一些对象:

*cachedData in add training:200,{"id":"1234","firstName":"NoName","lastName":"Newbie"},[object Object],OK*

我无法从上面提取JSON响应。我尝试了以下但没有一个工作:

//console.log("cachedData.data print:"+cachedData.data);
//console.log("cachedData.data.id print:"+cachedData.data.id);
//console.log("cachedResponse print:"+cachedData.response.id);

我也试过在$ httpDefaultCache.get中提供完整的URL,但它仍然不起作用。

这有什么解决方案吗?我没有复制整个代码以保持简短。提前致谢 !

答案

我在这里发现了类似的问题。你也看过它吗? How to cache an http get service in angularjs

以上是关于如何从Angularjs CacheFactory中提取响 应体的主要内容,如果未能解决你的问题,请参考以下文章

angularjs 缓存详解

angularjs 缓存

ionic 跨页面传值的几种方法

ionic项目中跨页面传递参数的几种方式

type $cacheFactory.Cache

如何从AngularJS调用jQuery [重复]