我知道這可能是一個簡單的問題,並有一個教程的地方,但我似乎無法找到它。 我生成使用express-generator
一個應用,我添加了一個簡單的表格,路線表單上的表單提交留在頁上
的意見/ form.ejs
<div>
<h1>This is <%= name %></h1>
<form action="/form" method="POST">
<input type="text" name="question" placeholder="question"><br>
<input type="text" name="answer" placeholder="answer"><br>
<input type="submit">
</form>
什麼,我試圖做的是加工後的請求表單提交沒有對頁面做任何事情。基本上我希望它保持不變,所以我嘗試了以下
路線/ index.js
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.get('/form', function (req, res) {
res.render('form', {name: "My Name"});
});
router.post('/form', function (req, res) {
console.log(req.body);
});
module.exports = router;
發生的事情是,瀏覽器會等待服務器的響應。我試着加入next()
但它給出了一個錯誤,我也嘗試從函數返回而沒有用。 那麼我怎樣才能發佈帖子請求或處理任何路線,而無需回覆客戶?
不起作用。 'res.send({})'重定向到表單被刪除的路徑,它打印一個空的json對象 – omarwaleed
它取決於你如何調用:通過ajax或完整的表單發佈。對於完整的表單發佈,做一些操作,然後重定向到/ form或者你從哪裏來的地方。 – vijayst
我打電話通過完整的表格提交。重定向到表單會丟失所有數據。我想保留表格填充,而不必通過將它們傳回路由來手動插入它們。我讀過的地方,這可能只能通過Ajax或通過像角度......任何想法? – omarwaleed