我正在尝试为学校项目创建一个带有 SQLITE 数据库的网上商店。我目前遇到的问题是我无法在网站上显示数据库中的所有产品。为此,我不允许使用 PHP,所以我需要通过 javascript 来完成。为了生成每个项目,我使用 Mustache。
这是我的代码:
HTML:
{{#items}}
<div class="col-12 col-md-6 col-xl-4">
<a class="shop-item" href="#">
<div class="item-details">
<div>
<h5> {{Product_Name}}</h5>
<p>{{Product_Desc}}</p>
</div>
<div class="item-price"><span class="unit">$</span>{{Product_Price}}</div>
</div>
<!-- <img src="#" alt="product"> -->
</a>
</div>
{{/items}}
控制器 :
module.exports = {
'render' : render,
}
function getProduct(){
const db = require('./../models/models').shopping;
return db.getItems();
}
async function render(req, res){
const products = await getProduct();
res.status(200).render('shopping', {
//tableProduct : true,
items : products
})
}
模型 :
const db = require('./../../bin/dataBase');
const SELECT_PRODUCT_SQL ="SELECT Product_Price, Product_Name, Product_Desc FROM Product";
function getItems(){
return new Promise((resolve, reject) =>{
db.all(SELECT_PRODUCT_SQL, (err,row) =>{
if(err) return reject();
if(row) return resolve(row);
else return reject();
})
})
}
module.exports = {
'getItems' : getItems
}
我目前遇到的错误是:错误:UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“getItems”。