我在从外部API调用向我的数据库发布数据时遇到问题。当我调用API时 - 在客户端它返回所有结果。使用响应对象 - 我想循环遍历所有结果并将它们推送到我的数据库。出于某种原因 - 当我开始循环结果时,我的服务器端路由只是推送前10个左右的记录,然后没有别的。任何人都知道可能会发生什么?这是我的客户端Javascript的样子。
function coinMarketCapAPICall(){
var queryUrl = "https://api.coinmarketcap.com/v1/ticker/?limit=0";
$.ajax({
url: queryUrl,
method: "GET"
}).done(function(response){
console.log(response);
// Looping through all the data from our API call. And creating a new object for each
// cryptocurrency.
for(var i=0; i<response.length; i++){
var newCryptoRow = {
currency_id: response[i].id,
name: response[i].name,
symbol: response[i].symbol,
rank: response[i].rank,
price_usd: response[i].price_usd,
price_btc: response[i].price_btc,
twentyfour_volume_usd: response[i]['24h_volume_usd'],
market_cap_usd: response[i].market_cap_usd,
available_supply: response[i].available_supply,
total_supply: response[i].total_supply,
max_supply: response[i].max_supply,
percent_change_1h: response[i].percent_change_1h,
percent_change_24h: response[i].percent_change_24h,
percent_change_7d: response[i].percent_change_7d,
last_updated: response[i].last_updated
}
$.ajax("/api/cryptodata",{
type: "POST",
data: newCryptoRow
});
}
})
}
然后在服务器端 - 我有一条路径,用于获取结果并将它们推回到我的数据库中,如下所示。
app.post("/api/cryptodata", function(req, res){
connection.query('INSERT INTO pricings SET ?', req.body,
function(error, result, fields){
if(error) throw error;
console.log("this is the Coinmarket call", result.body);
})
})
再次 - 不确定这里发生了什么 - 感谢任何帮助!