0
我有以下ejs代碼。發送ejs字段到nodejs文件
<form action="/" class = "form-horizontal" method="post">
<textarea class = 'form-control departureCode' name = "departureCode" rows= "1"></textarea>
</form>
這是我在routes.js文件中的後處理程序代碼。
routes.post('/', (req, res, next) => {
let departureCode = JSON.parse(req.body.departureCode);
console.log(departureCode);
});
我沒有得到這個成功的工作。我的郵件處理程序中出現未定義的令牌錯誤。你可以幫我嗎?
如果您在路由中發佈數據,則無法在ejs模板中獲取數據。你必須渲染你的視圖並在參數中傳遞數據,然後它將在你的ejs模板中可用。 使用ref:http://stackoverflow.com/questions/25596615/passing-variable-with-ejs-templating –
對不起延遲迴復。我試過使用res.render它仍然給我req.body.departureCode值的未定義令牌錯誤。可能是我缺少一些由bodyparser模塊設置的方式。 – SamT
我繼續閱讀了一些與此問題相關的問題,並偶然發現了一篇文章,他們提到可能不需要解析,因爲它可能已經被解析。我試着刪除JSON.parse,它工作:)。但我必須說,你的初步答案幫助我明白,即使我想將這些值發送到同一個ejs文件,我也必須使用res.render。我正在爲你的答案打個勾。感謝您的輸入。 – SamT