2017-05-22 10 views
0

Web APIからjsonデータを正常に取得しています。それはサーバーコンソールに正しくロギングしていますが、クライアントに送信すると、空白のようになります[]このjsonデータをサーバからコントローラに渡すにはどうすればいいですか? Nodejs/AngularJS

私は間違っていますか?

app.get('/balance', function(req, res) { 
 

 
    var poloniexExchange = new Cryptox(
 
    "poloniex", { 
 
     key: 'IGVRQCXB', 
 
     secret: '93b5686d9ef' 
 
    }); 
 

 
    //get all account balances 
 
    poloniexExchange.getBalance({ 
 
    account: 'all' 
 
    }, function(err, balance) { 
 
    if (err) 
 
     console.log(err); 
 
    if (!err) 
 

 
     console.log(balance.data[0].total); //logging all json data 
 
    res.json(balance.data[0].total); 
 
    }); 
 
});

app.controller('websocketController', function($scope, $http) { 
 

 
    $http.get("/balance") 
 
    .then(function(response) { 
 

 
     console.log(response.data); //logging '[]' 
 

 
    }); 
 
});

私はコントローラにサーバーからbalance.data[0].totalを渡す必要があります。私は間違って何をしていますか?この仕事をどうやって作れますか?

答えて

0

ここに質問があります:あなたはあなたのクエリーを行っているのと同じマシンであなたのdevサーバーを実行していますか? もしそうなら、次のヘッダシリーズをサーバに含める必要がある可能性があります。

res.header("Access-Control-Allow-Origin", "*"); 
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 

私が正しくリコール場合は、このことを基本的な推論は、それらはすべて同じドメインからいないのであれば、ほとんどのWebクライアントは、ローカルのHTTPリクエストからの応答を受け入れて好きではないということですので、彼らは確認の別の層を必要とします攻撃ではありません。クロスドメイン攻撃を調べて詳細を調べてください。

*は何でも付くことを意味する*という意味になりますので、値を指定して値を取得するか、削除してからサーバーのホストからクエリを実行しないようにする必要があります生産コードを出荷する。

関連する問題