无法在ReactJS后端项目上向SQL数据库添加项目

时间:2019-01-09 07:12:53

标签: javascript sql reactjs postgresql

enter image description here

因此,我试图对后端进行POST请求,最终用户可以在其中添加一个项目,该项目应该发送到数据库而不是返回到数据库。当我使用Postman通过放入JSON数据发出随机请求时,它总是告诉我我试图在每行中放入空项目。

这是我在DB文件夹中的代码

INSERT INTO ecomerce_products
(item_id, name, price, description, img_url, quantity)
VALUES($1, $2, $3, $4, $5, $6)
RETURNING *;

这是我的控制器文件中的代码

module.exports = {
addToProducts(req, res, next) {
    const db = req.app.get("db");
    const { item_id, name, price, description, img_url, quantity } 
= req.params;
    db.addToProducts([item_id, name, price, description, img_url, 
quantity])
        .then(response => {
            res.status(200).send(response);
        })
        .catch(err => res.status(500).send(err));
 }
 };

1 个答案:

答案 0 :(得分:0)

我希望您正在使用express或其他框架。如果要发布请求,则数据应通过请求正文传递。因此,req.params不应具有这些属性,因此它为null。

module.exports = {
addToProducts(req, res, next) {
    const db = req.app.get("db");
    console.log(req.body);
    const { item_id, name, price, description, img_url, quantity }
= req.body;

    db.addToProducts([item_id, name, price, description, img_url,
quantity])
        .then(response => {
            res.status(200).send(response);
        })
        .catch(err => res.status(500).send(err));
 }
 };

尝试类似的方法,看看是否正在获取数据。