Tham số truy vấn là một chuỗi truy vấn được máy khách gửi lên máy chủ. Máy chủ sẽ nhận các thông tin này để xử lý và trả về một kết quả phù hợp với truy vấn được gửi lên
2. Truy vấn trong URL
Các chuỗi truy vấn có thể được đính kèm trong một URL. Trong URL, truy vấn sẽ bắt đầu từ sau dấu ? . value}, các cặp ngăn cách nhau do ký tự & tạo thành một đối tượng được gọi là param và được gửi lên máy chủ. Ví dụ
{ name: "viblo", age: "20" }Với URL. http. //thí dụ. com/users?name=viblo&age=20 will be convert to object is
3. Xây dựng chức năng tìm kiếm chức năng
3. 1. Xây dựng chức năng tìm kiếm người dùng theo tên
app.get('/users/search', (req,res) => { // search and return here })Đầu tiên, ta sẽ tạo route để có thể search user, ở đây mình sẽ tạo route tại /users/search. Chức năng này để lấy những người dùng phù hợp với truy vấn, nên ta sẽ sử dụng phương thức là get
Ở trên mình đã viết hàm theo chuẩn ES6, các bạn có thể tìm hiểu thêm nhé, hoặc viết như các bài học trước cũng được
form.seach-form(action="/users/search") input(name="name", type="text", placeholder="name") input(type="submit")Tạo một biểu mẫu HTML để tìm kiếm, mình sẽ tạo tại trang chỉ mục của người dùng
Đức Phúc @NHDPhucIT
Theo dõi
2. 4K 136 20
Đã đăng vào ngày 3 tháng 6 năm 2019 3. 53 một. m. 5 phút đọc
21. 0K
2
8
NodeJS Bài 4. Tham số truy vấn- Report
- Add to series of me
Series NodeJS căn bản cho người mới bắt đầu
Xem bài viết mới - ReactJS -Những câu hỏi phỏng vấn thường gặp - Phần 1
1. Tham số truy vấn là gì?
hôm nay chúng ta sẽ tìm hiểu về các tham số truy vấn trong NodeJS. Vì vậy nó là gì?
Tham số truy vấn là một chuỗi truy vấn được máy khách gửi lên máy chủ. Máy chủ sẽ nhận các thông tin này để xử lý và trả về một kết quả phù hợp với truy vấn được gửi lên
2. Truy vấn trong URL
Các chuỗi truy vấn có thể được đính kèm trong một URL. Trong URL, truy vấn sẽ bắt đầu từ sau dấu ? . value}, các cặp ngăn cách nhau do ký tự & tạo thành một đối tượng được gọi là param và được gửi lên máy chủ. Ví dụ
{ name: "viblo", age: "20" }Với URL. http. //thí dụ. com/users?name=viblo&age=20 will be convert to object is
3. Xây dựng chức năng tìm kiếm chức năng
3. 1. Xây dựng chức năng tìm kiếm người dùng theo tên
app.get('/users/search', (req,res) => { // search and return here })Đầu tiên, ta sẽ tạo route để có thể search user, ở đây mình sẽ tạo route tại /users/search. Chức năng này để lấy những người dùng phù hợp với truy vấn, nên ta sẽ sử dụng phương thức là get
Ở trên mình đã viết hàm theo chuẩn ES6, các bạn có thể tìm hiểu thêm nhé, hoặc viết như các bài học trước cũng được
form.seach-form(action="/users/search") input(name="name", type="text", placeholder="name") input(type="submit")Tạo một biểu mẫu HTML để tìm kiếm, mình sẽ tạo tại trang chỉ mục của người dùng
Repback một chút kiến thức cũ về HTML
- Hành động thuộc tính quy định đường dẫn mà dữ liệu của biểu mẫu sẽ được gửi đến
- Với mỗi đầu vào thẻ, tên thuộc tính sẽ tương ứng với khóa, giá trị của mỗi đầu vào trường tương ứng với giá trị trong mỗi truy vấn cặp
Hãy thử nhập một cái tên nào đó, ví dụ như "Người dùng1", Kiểm tra trang web và chọn tab Mạng, bạn sẽ thấy một yêu cầu được gửi lên
Bây giờ, ta sẽ xem máy chủ đã nhận được yêu cầu này chưa nhé. Đối tượng yêu cầu cung cấp cho một thuộc tính truy vấn để truy vấn được truy vấn mà khách hàng gửi lên. Please try in it ra nhé
app.get('/users/search', (req,res) => { console.log(req.query); })In the cmd window, you will see results as after
{name: 'User1'}Như vậy là máy chủ đã nhận được yêu cầu từ máy khách, Bây giờ ta sẽ thực hiện tìm kiếm người dùng. Ở bài trước, mình đã khai báo một mảng bao gồm các người dùng trong route '/users'. Để các route khác có thể sử dụng, ta sẽ đưa mảng này ra bên ngoài. Ứng dụng tập tin mã nguồn. js now will like after
________số 8Tiếp tục, ta sẽ xử lý công việc tìm kiếm. Việc này bây giờ trở nên đơn giản, vì các bạn đã học JavaScript và đã biết cách tìm "một chuỗi con trong chuỗi cha" rồi. Nên mình sẽ không giải thích chi tiết nữa nhé. Phần này các bạn có thể tìm hiểu một cách dễ dàng
app.get('/users/search', (req,res) => { var name_search = req.query.name // lấy giá trị của key name trong query parameters gửi lên var result = users.filter( (user) => { // tìm kiếm chuỗi name_search trong user name. // Lưu ý: Chuyển tên về cùng in thường hoặc cùng in hoa để không phân biệt hoa, thường khi tìm kiếm return user.name.toLowerCase().indexOf(name_search.toLowerCase()) !== -1 }) res.render('users/index', { users: result // render lại trang users/index với biến users bây giờ chỉ bao gồm các kết quả phù hợp }); })Như vậy là hoàn thành công việc tìm kiếm và trả về kết quả. Ta sẽ hiệu chỉnh lại mã HTML một chút ứng với 2 trường hợp
- Nếu biến người dùng có chiều dài > 0, tức là người dùng đang tồn tại, thì hiển thị người dùng đó
- Ngược lại, hiển thị "Không có người dùng để hiển thị"
xong. Các bạn hãy thử kiểm tra chức năng này nhé
3. 2 Xây dựng chức năng tìm kiếm người dùng theo tên và theo tuổi
app.get('/users/search', (req,res) => { // search and return here }) 1Ta sẽ thêm một trường tuổi vào mảng người dùng
Ta sẽ thấy có 2 người dùng cùng tên là "User1", nhưng tuổi (tuổi) khác nhau. Trường email là trường khóa chính, để phân biệt giữa các người dùng
app.get('/users/search', (req,res) => { // search and return here }) 2Hiệu chỉnh lại mã HTML để hiển thị tuổi, cũng như thêm tuổi đầu vào để tìm kiếm
app.get('/users/search', (req,res) => { // search and return here }) 0Chỉnh sửa lại chức năng tìm kiếm (thêm điều kiện theo tuổi)
Hãy thử gửi một yêu cầu mới lên nhé. Nó sẽ bao gồm cả tên và tuổi cần tìm
Cuối cùng, chúng tôi đã làm chức năng tìm kiếm. Các bạn có thể tự sáng tạo và nâng cấp chức năng này để hoàn thiện hơn. Thông qua bài này, ta đã học thêm về yêu cầu. truy vấn cũng như biết thêm về cú pháp nếu. other trong pug