//cards to be created in template
var coins = [];
var formattedCoins = [];
app.get("/", function(req, res){
for(x in formattedCoins){
for(y in formattedCoins[x])
console.log("From '/': " + formattedCoins[x][y].name);
}
res.render("coin.ejs", {coins: formattedCoins});
});
//retrieve form information
app.post("/getCoin", function(req, res){
var symbol = req.body.formSymbol;
request("https://api.coinmarketcap.com/v1/ticker/", function(error, response, body){
//if no error and status is OK
if(!error && response.statusCode == 200){
//data returned are not JS objects application must parse JSON data first into JS
var parsedData = JSON.parse(body);
//find coin with the same symbol submitted
for(x in parsedData){
if(parsedData[x].symbol == symbol.toUpperCase()){
//create object
var newCoin = {
name: parsedData[x].name,
symbol: parsedData[x].symbol,
usd: parsedData[x].price_usd,
btc: parsedData[x].price_btc
};
//save coin to list
coins.push(newCoin);
//filter into 2D array
formatCoins();
}
}
}
});
res.redirect("/");
});
嘿伙计们,
请耐心等待长长的代码,我不知道如何在不遗漏可能需要考虑的任何重要内容的情况下将其最小化。
我目前正在制作一个从'coinmarket'API中提取数据的应用程序。
我希望应用程序如何工作是在发出邮件请求并重定向回“/”后使用收到的新硬币呈现新数据。但是,会发生什么:
我觉得我在将get请求路由到“/”以进行对象渲染方面做错了。
我能得到一些帮助吗?我看不出问题出在哪里。
谢谢!