【问题标题】:Json returns undefined in nodeJs and AngularJsJson 在 nodeJs 和 AngularJs 中返回 undefined
【发布时间】:2015-05-21 17:58:05
【问题描述】:

我有一个应用程序调用 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]”,但再也无法获得它......)

有什么想法吗?

谢谢大家。

【问题讨论】:

  • 你是从哪里传来的 SummonerName 的?

标签: javascript json angularjs node.js


【解决方案1】:

在我看来,这不是你应该这样做的方式。

如果你想获取召唤师,你只需要使用 get 方法。 尤其是在您与多个用户打交道时。

您可能希望像在此答案中指定的那样在获取请求中传递数据并放弃发布请求: AngularJS passing data to $http.get request

这样,您就不会依赖内存并且可以对其进行模块化:)

【讨论】:

    猜你喜欢
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多