Salah satu bagian terpenting dalam membangun aplikasi web adalah menangani input pengguna menggunakan form. Di Node. js, Express. Js bertanya lebih dulu tentang bagaimana cara terbaik untuk menangani kiriman dan permintaan formulir. Dalam artikel ini, saya akan menunjukkan kepada Anda bagaimana cara menggunakan formulir dan menangani permintaan dengan Express. js, menampilkan praktik terbaik dan teknik-teknik yang bermanfaat.
Kata kunci: formulir, permintaan
Formulir memungkinkan pengguna untuk mengirim data ke server, biasanya dengan menyediakan metode seperti GET atau POST. Formulir membuat permintaan HTTP yang mengirimkan input pengguna dengan menggunakan parameter kueri, data yang dikodekan dalam URL, atau objek JSON. Express.js mengurai dan memproses permintaan ini secara langsung.
sumber: naukri.com |
Menyiapkan Express.js
Sekarang sebelum kita membahas penanganan formulir, mari kita siapkan aplikasi express:
1. Instal Express:
npm install express
2. Buat Server Express Dasar:
const express = require('express');
const app = express();
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on http://localhost:${PORT}`);
});
Mengurai Data Formulir
Secara default, Express tidak mem-parsing muatan permintaan. Anda harus menggunakan middleware untuk mem-parsing permintaan yang masuk.
1. Mengurai Data yang Disandikan URL
Untuk pengiriman formulir yang jenis kontennya diatur ke application/x-www-form-urlencoded (default untuk sebagian besar formulir HTML), Anda dapat menggunakan middleware express.urlencoded():
app.use(express.urlencoded({ extended: true }));
- extended: true: Mengurai objek bersarang
- extended: false: Hanya mengizinkan pasangan kunci-nilai sederhana.
2. Mengurai Data JSON
Untuk formulir yang mengirimkan data sebagai JSON (seperti menggunakan JS dengan fetch), Anda memerlukan middleware express. json():
app.use(express.json());
Menangani Permintaan GET
app.get('/search', (req, res) => {const query = req.query.q;res.send(`You searched for: ${query}`);});
Menangani Permintaan POST
Contoh Formulir HTML:
<form action="/register" method="POST"><input type="text" name="username" placeholder="Username" required><input type="email" name="email" placeholder="Email" required><input type="password" name="password" placeholder="Password" required><button type="submit">Register</button></form>
Menangani Pengunggahan File
npm install multer
const multer = require('multer');const upload = multer({ dest: 'uploads/' });app.post('/upload', upload.single('file'), (req, res) => {res.send(`File uploaded: ${req.file.originalname}`);});
Penanganan Kesalahan
app.use((err, req, res, next) => {console.error(err.stack);res.status(500).send('Something went wrong!');});