繁体   English   中英

Json在nodeJs和AngularJs中返回未定义

[英]Json returns undefined in nodeJs and AngularJs

我有一个应用程序,该应用程序调用api并显示有关该信息的数据:首先,它从客户端输入中获取用户名并将其发布到服务器。 在此步骤中,如果我检查数据是否已正确发送到服务器,一切似乎都很好。

AngularJs部分:

var app=angular.module("app",[])

app.controller("InfoController",['$scope','$log','$http','$filter',function($scope,$log,$http,$filter){ 

    $scope.info = {
        summonerName: '',
    };

    $scope.info.onClick = function(){
        $scope.info.summonerName = $scope.info.summonerNameBox;

        $http.post('/api/getSummonerName', $scope.info);

    $http.get('/api/summonerData')
        .success(function(data, status){
        $scope.info.display = data;
    }).error(function(data,status){
        alert("Error: " + status);  
    });
    };
}])

Nodejs:

var summonerName;
var summonerId = '';

app.post('/api/getSummonerName', function (req, res){
    summonerName = req.body.summonerName;
    console.log("Post getSummonerName " + summonerName);
});

app.get('/api/summonerData', function(req,res){
    LolApi.Summoner.getByName(summonerName, function(err, summoner) {
        if(!err) {
            res.json(summoner);
            summonerId = req.body.summoner;
            console.log(summonerId);
            if(err)
                res.send(err)
        }
    })
});

当我在服务器中拥有此数据时,我将调用一个api以获取该用户的信息,并且一切都很好。

当我要存储此json中的特定字段时,就会出现问题。 当我想将其存储在变量中时,我得到的所有内容都是“未定义的”:/(一旦我获得了“ [Object object]”,但无法再获取它了……)

任何想法?

谢谢你们。

我认为,这不是您应该这样做的方式。

如果您想在召唤师上进行获取,则只需使用get方法即可。 特别是当您要与多个用户打交道时。

您可能想要像在此答案中指定的那样在get请求中传递数据,并放弃发布请求: AngularJS将数据传递给$ http.get请求

这样,您就不必依赖内存了,就可以将其模块化:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM