我正在使用快速应用程序,我希望脚本只在 URL 上执行一次
我试过这个
app.get("/api/user/med", (req, res) => {
try {
console.log(req.query.name)
const { name } = req.query;
const { expy } = req.query;
const { quan } = req.query;
const { place } = req.query;
console.log(name)
var sql =
"INSERT INTO medicine (med_name, expiry, quantity, place) VALUES ($1, $2, $3, $4)";
var values = [name, expy, quan, place];
if (name != null && name != undefined){
console.log(req.query)
req.query = ""
req.url = req.query
console.log(req.url)
const putMed = client.query(sql, values, (err, result) => {
if (err) throw err;
getAllMed(res);
});
putMed;
}
} catch (err) {
res.status(500).send(err);
}
});
但是当我刷新页面时,它会再次插入,所以我怎样才能阻止它呢?
提前致谢。
刷新自然会再次请求相同的 URL,这将再次调用您的路由。这就是它应该做的。
对于初学者来说,您正在根据 GET 请求修改数据库。那不是你应该做的。您应该使用 POST、PUT 或 PATCH,具体取决于您所做更改类型的详细信息。如果您不熟悉 GET、PUT、POST 等的标准用法...您可以在很多网站上阅读有关如何正确使用这些内容的信息。一般主题称为 REST(表征状态转移),这里有关于它的一篇文章。您可以搜索有关该主题的更多参考资料。
总结如下: