javascript — невозможно скрыть HTML-таблицу, если в nodejs нет данных API

Невозможно скрыть HTML-таблицу, если в nodejs нет данных API

Я работаю над моим проектом в NodeJS, где я делаю вызов из API, и данные отображаются в шаблоне EJS. Все работает нормально, но я хочу показать сообщение об ошибке в месте таблицы (где данные должны появиться), если есть ошибка от API или каким-то образом данные недоступны, а также таблица будет скрыта. Это код, который я пробовал:

маршрутизатор

 var express = require("express"); var router = express.Router(); var request = require("request"); router.get("/", function(req, res) { var url = "api.coingecko.com"   "api-key"; request(url, function(error, response, body) { if(!error {amp}amp;{amp}amp; response.statusCode == 200) { var data = JSON.parse(body); res.render("index", {data: data}); } }); }); module.exports = router; 

Index.ejs Шаблон

 {amp}lt;h1 class="text-center" id="header"{amp}gt;Data: {amp}lt;span id="data"{amp}gt; {amp}lt;%= data.price %{amp}gt; {amp}lt;span{amp}gt;{amp}lt;/h1{amp}gt; {amp}lt;% if(data.price === null || data.price === undefined || data.price === " ") { %{amp}gt; {amp}lt;div class="alert alert-danger"{amp}gt; {amp}lt;strong{amp}gt;Error:{amp}lt;/strong{amp}gt; Unable to retrieve data. {amp}lt;/div{amp}gt; {amp}lt;% }else{ %{amp}gt; {amp}lt;div id="info-table"{amp}gt; {amp}lt;table class="table table-striped"{amp}gt; {amp}lt;tbody{amp}gt; {amp}lt;div class="card-header bg-primary"{amp}gt;More Information{amp}lt;/div{amp}gt; {amp}lt;tr{amp}gt; {amp}lt;td{amp}gt;Type{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;: {amp}lt;%= data.marketcap %{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;/tr{amp}gt; {amp}lt;/tbody{amp}gt; {amp}lt;/table{amp}gt; {amp}lt;/div{amp}gt; 

Здесь я попытался использовать утверждение if, что если данных API в диапазоне нет, то ошибка будет отображена, и таблица будет скрыта, иначе ошибка будет скрыта, и таблица будет отображена. Я также попытался использовать идентификатор диапазона и вызвать document.getElementById в условиях оператора if, но документ недоступен в узле js. Я мог бы использовать connect-flash, но я не знаю, смогу ли я спрятать таблицу с этим.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector