នៅ​ក្នុង​សាស្ត្រា 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>