簡體   English   中英

連接到路由的表單操作問題(Nodejs,Express)

[英]Issue with form action to connect to routing (Nodejs, Express)

我有一個使用 Express 的 nodejs 項目。 我遇到了一個問題,幾個小時后我弄清楚它是什么,但我不知道如何解決它。

我有一個要提交到數據庫的表單,但我認為表單 action="" 沒有找到正確的路徑。

一切都在我的整個項目中工作,所有不在嵌套目錄中的頁面,如下面的 add-shop.ejs。 他們發布數據很好。 我也在路由器上做了個測試

我要列出我的目錄結構

| public
| models
         | shopModel.js
| routes
         | shop.js
         | index.js
| views
         | shop
                | add-shop.ejs
         | index.ejs
         | contact.ejs
| app.js

我在views/shop/add-shop.ejs 中的表單與表單操作

<form action="/add-shop" method="post" class="post-form">
  <form stuff to do>
</form>

我的 app.js (只是路由設置,我在上面評論過)

const mainRoutes = require('./routes');
app.use(mainRoutes);

//This is the routes for shop route
const shopRoutes = require('./routes/shop.js');
app.use(shopRoutes);

我的路線:routes/shop.js

const express = require('express');
const router = express.Router();
const Shops = require('../models/shopModel.js');

router.get('/add-shop', (req, res) => {
    //getting the page successfully
});

router.post(('/add-shop', (req, res) => {
    //adding stuff not so successfully
}));

module.exports = router;

發送表單后我一直收到 404 錯誤,即使我從 /add-shop 頁面發送表單,它也找不到頁面 /add-shop? 是因為目錄結構嗎?

你的代碼中有太多的括號

router.post(('/add-shop', (req, res) => {
    //adding stuff not so successfully
}));

需要是

router.post('/add-shop', (req, res) => {
    //adding stuff not so successfully
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM