Ajax调用 - 数据未加载到我的数据库中

时间:2018-05-13 23:13:46

标签: javascript ajax express

我在从外部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);
			})
		})

再次 - 不确定这里发生了什么 - 感谢任何帮助!

0 个答案:

没有答案