Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs ngResource未返回json对象格式的数据_Angularjs_Json_Node.js_Ngresource - Fatal编程技术网

Angularjs ngResource未返回json对象格式的数据

Angularjs ngResource未返回json对象格式的数据,angularjs,json,node.js,ngresource,Angularjs,Json,Node.js,Ngresource,我已经设置了一个基本的角度和节点应用程序。节点服务器正在返回JSON格式的响应: [{"FeedId":"56aa6aece3d7031b044b34de","Name":"geeksforgeeks","FeedUrl":"http://www.geeksforgeeks.org/feed/?paged=INDEX","FeedItems":[]}] 节点方法: router.get('/feeds', function(req, res, next) { request.get(w

我已经设置了一个基本的角度和节点应用程序。节点服务器正在返回JSON格式的响应:

[{"FeedId":"56aa6aece3d7031b044b34de","Name":"geeksforgeeks","FeedUrl":"http://www.geeksforgeeks.org/feed/?paged=INDEX","FeedItems":[]}]
节点方法:

router.get('/feeds', function(req, res, next) {
    request.get(webApiUrl + '/api/Feed', { headers: {
        'Content-Type': 'application/json'
    }}, function(error, response, body)
    {
        if(error) {
            return next(error);
        }

        res.json(body);
    });
});
在角度方面,我使用的是ngResource,我已将配置定义为:

this.$resource("http://localhost:3000/feeds/:feedName", {}, 
                {
                transformResponse: function(data, headers) {
                    return angular.fromJson(data);
                },
                post: {method:'POST'},
                get : {method: 'GET'},
                query: {method: 'GET', isArray: false },
                update: {method: 'PUT', isArray: false},
                'delete': {method:'DELETE', params: { feedName:"@feedName" }}
            });
我面临的问题是,ngResource并没有以json对象格式返回结果,而是转换字符数组中的响应

var resource = this.dataAccessService.getFeedResource();
            this.feeds = [];
            let _me = this;
            resource.get((data) => {
                console.log(data); **//array of characters**
                angular.forEach(data, function(ff) {
                    console.log(ff.Name);**//undefined**
                });
            });

如何使ngResource以类似于节点服务器返回的json对象格式返回数据?

尝试删除
transformResponse
。删除了transformResponse函数,但结果仍然相同。我已经扩展了这个问题,添加了消耗ngResource并试图解析结果的代码。似乎您正在向另一台服务器发出请求,而该响应将作为字符串返回。尝试直接输出字符串。我猜您是在使用
res.json()
包装额外的引号。注意,我在nodeThanks中做的不多。用res.send()替换res.json()可以解决这个问题。您可以添加您的修复程序来回答这个问题吗?它将有助于未来的访问者。请尝试删除
transformResponse
。删除了transformResponse函数,但结果仍然相同。我已经扩展了这个问题,添加了消耗ngResource并试图解析结果的代码。似乎您正在向另一台服务器发出请求,而该响应将作为字符串返回。尝试直接输出字符串。我猜您是在使用
res.json()
包装额外的引号。注意,我在nodeThanks中做的不多。用res.send()替换res.json()可以解决这个问题。您可以添加您的修复程序来回答这个问题吗?这将有助于未来的游客。