无法在 ReactJS 后端项目上将项目添加到 SQL 数据库
Posted
技术标签:
【中文标题】无法在 ReactJS 后端项目上将项目添加到 SQL 数据库【英文标题】:Can not add items to SQL database on ReactJS backend project 【发布时间】:2019-01-09 07:12:53 【问题描述】:所以我试图只向我的后端发出一个 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】:我希望您使用的是 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));
;
试试这样的方法,看看你是否得到了数据。
【讨论】:
是的,我正在使用 express,它运行良好,非常感谢 :)以上是关于无法在 ReactJS 后端项目上将项目添加到 SQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何在 XCode 上将自定义文件扩展名导入 iOS 项目?