0

我正在尝试为学校项目创建一个带有 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”。

4

0 回答 0