នៅ​ក្នុង​សាស្ត្រា Express.js​ បណ្តា​ទិន្នន័យ​ដែលត្រូវ​បាន​បញ្ជូនមក​កាន់ server ត្រូវ​បាន​ចំលង​យក​និង​កត់ត្រា​ទុក​នៅ​ក្នុងសំណុំ​ទិន្នន័យ​ឈ្មោះ body នៅ​ក្នុង​វត្ថុ​ដែល​ជា request ក្នុង​ករណី​ដែល​យើង​ប្រើប្រាស់​ក្បួន​កណ្តាល​មាន​ស្រាប់​នៅ​ក្នុង​សាស្ត្រា Express.js មាន​ឈ្មោះ​ថា urlencoded()។ អាស្រ័យ​ហេតុ​នេះ យើង​អាច​ស្រង់​យក​ទិន្នន័យ​ពី​ក្នុង​​សំណុំ​ទិន្នន័យ​ឈ្មោះ​ body នេះ​បាន​ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

 

import express from 'express'
import path from 'path'
const app = express()
const port = process.env.PORT || 3000
const __dirname = path.resolve()
import index from './routes/index.js'
import backend from './routes/backend.js'
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'ejs')
app.use(express.static(path.join(__dirname, 'public')))
app.use(express.urlencoded({extended:false}))
app.use('/',index)
app.use('/backend',backend)
app.listen(port,function(){
console.log(`This application is listening to the port: ${port}`)
})

 

/* ./routes/index.js */
import express from 'express'
const index = express.Router()
let data = {}
index.get('/',(req,res,next)=>{
data.message = ''
res.render('base',data)
})
index.post('/',(req,res,next)=>{
data.message = `ជំរាបសួរ ${req.body.username}!!`
res.render('base',data)
})
export default index

 

<!--views/base.ejs-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Express.js Web Framework</title>
<link href="/fonts/setup.css" rel="stylesheet">
<link href="/styles/base.css" rel="stylesheet">
</head>
<body>
<form action="/" method="post">
<input type="text" name="username" required />
<input type="submit" value="បញ្ជូន" />
</form>
<p><%= message %></p>
</body>
</html>