提交表单method="post"后,request.body未定义

问题描述 投票:0回答:0

我正在使用 Express 和 mySQL 构建网站。

我想使用范围栏和提交按钮按价格和库存显示项目(表单方法=“post”) 但是由于某种原因,request.body 是未定义的,即使我在提交时可以找到表单数据。 你能帮帮我吗?

-html-

  <form action="/product_list" method="post" id="stock-range">
          <label for="stock-range-bar">Stock</label>
          <input
            type="range"
            class="slider"
            id="stock-range-bar"
            name="stock_range_bar"
            step="100"
            min="100"
            max="5000"
            value="100"
          />
          <div class="range-btn">
            <p><span class="stock-ranged"></span></p>
            <input class="pay-btn" type="submit" value="Search" />
          </div>
        </form>
productController.post("/product_list", (request, response) => {
  if (request.body) {
    let stockData = request.body;
    console.log(stockData);

    getProdcutsByStockRange(stockData).then((products) => {
      response.render("product-list.ejs", { products });
    });
  }
});

stockData 在这里未定义......我正在使用这个中间件!

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

我尝试使用正文解析器,但它没有用:(

your text

forms express post http-post
© www.soinside.com 2019 - 2024. All rights reserved.