2017-05-22 109 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

下面是一個問題:你是否在你正在查詢的計算機上運行你的開發服務器? 如果是這樣的話:您的問題可能是您需要在服務器上包含以下標題系列。

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

如果我沒有記錯,基本的理由是,大多數Web客戶端不喜歡從本地的HTTP請求接受回覆,如果他們不是全部來自同一個域,所以他們需要這個確認的另一層不是攻擊。查看跨域攻擊以瞭解更多信息。

請記住,*表示它將隨任何東西一起移動,因此您需要獲取特定的值才能接受該值,或者將其刪除並避免在嘗試運行之前從服務器主機運行查詢運送生產代碼。

相關問題