2015-03-18 3 views
0

У меня есть приложение, которое вызывает звонки на api и показывает данные об этой информации: во-первых, он берет имя пользователя от входа в клиенте и отправляет его на сервер. На этом этапе, если я проверю, правильно ли переданы данные на сервер, все кажется прекрасным.Json возвращает undefined в nodeJs и AngularJs

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. Когда я хочу сохранить его в переменной, все, что я получаю, является «неопределенным»:/(Как только я достиг получаю «Объект объекта», но больше не могу его получить ...)

Любая идея?

Спасибо всем.

+0

где вы проходили summonerName? – Naqeeb

ответ

0

На мой взгляд, это не так, как вы должны это делать.

Если вы хотите попасть на вызовщика, вам нужно просто использовать метод get. Особенно, если вы имеете дело с несколькими пользователями.

Вы можете передать данные в запросе GET, как указано в этом ответе и канавы запрос на почту: AngularJS passing data to $http.get request

Таким образом, вы не зависит от памяти, и вы сможете модуляризировать его :)

Смежные вопросы