【问题标题】:The last form-data submited keeps getting added to an array everytime page is refreshed每次刷新页面时,最后提交的表单数据都会不断添加到数组中
【发布时间】:2021-01-03 07:17:10
【问题描述】:

我正在使用发布请求从表单中添加输入数据。此数据被推送到数组变量burg,然后放入我的 index.handlebars 视图中。所有这些都有效,但是在刷新时(当表单中没有任何内容时),数组添加了刚刚推入数组的数据的另一个实例。我想弄清楚如何取消这个刷新功能(保持数组相同,只清除放置burg的表单输入和显示区域。

在 index.handlebars 中显示数组列表和表单

 <ul>
            {{#each burg}}
            <li>{{this}}</li>
            {{/each}}
          </ul>



<form class="form-group" method="post" action="/">
        <label>Add to Eat</label>
        <input type="text" class="form-control" id="add" name="add" placeholder="Unique Burger Details">
        <button type="submit" class="btn btn-primary btn-md" id="add-btn">
          <span class="fa fa-book"></span> Add Ur Burger</button>
      </form>

所有的controller.js

const express = require('express');
const router = express.Router();
 let burg=[];
router.post("/", (req, res, next) =>{
burg.push(req.body.add);
res.render("index",{burg});
res.end;
});

server.js 部分

app.use(express.static("public"));

app.use(express.json()); 
app.use(express.urlencoded({ extended: true }));

app.get("/", function (req, res) {
  res.render("index",{burg});
}
  app.use("/", burgerRouter);

【问题讨论】:

    标签: javascript forms post page-refresh express-handlebars


    【解决方案1】:

    required>

    试试这个,也许它会完成在标签中添加所需的工作

    【讨论】:

    • 谢谢,但没有成功。刷新页面时,我还看到来自 Firefox 的警告消息“要显示此页面,Firefox 必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息。” Chrome 会在没有消息的情况下做同样的事情。当变量没有存储和从数据库中取出时,运行本地服务器时是否不容易发生功能?
    猜你喜欢
    • 2018-10-06
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    相关资源
    最近更新 更多