Chuỗi cắt nodejs

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ụ

Với URL. http. //thí dụ. com/users?name=viblo&age=20 will be convert to object is

{
    name: "viblo",
    age: "20"
}

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

Đầ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

app.get('/users/search', (req,res) => {
	// search and return here
})

Ở 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

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

form.seach-form(action="/users/search")
  input(name="name", type="text", placeholder="name")
  input(type="submit")

Chuỗi cắt nodejs

Đứ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ụ

Với URL. http. //thí dụ. com/users?name=viblo&age=20 will be convert to object is

{
    name: "viblo",
    age: "20"
}

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

Đầ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

app.get('/users/search', (req,res) => {
	// search and return here
})

Ở 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

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

form.seach-form(action="/users/search")
  input(name="name", type="text", placeholder="name")
  input(type="submit")

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ố 8

Tiế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ị"
app.get('/users/search', (req,res) => {
	// search and return here
})
0

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

Ta sẽ thêm một trường tuổi vào mảng người dùng

app.get('/users/search', (req,res) => {
	// search and return here
})
1

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

Hiệ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
})
2

Chỉnh sửa lại chức năng tìm kiếm (thêm điều kiện theo tuổi)

app.get('/users/search', (req,res) => {
	// search and return here
})
0

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