2015-03-19 15 views
6

Có một chức năng bodyparser.urlencoded(options) trong body-parser, nó có một tùy chọn được gọi là mở rộng.sự khác biệt giữa qs và truy vấn

Các tùy chọn mở rộng cho phép lựa chọn giữa phân tích cú pháp URL mã hóa dữ liệu với các thư viện chuỗi truy vấn (khi false) hoặc thư viện qs (khi true). Cú pháp "mở rộng" cho phép các đối tượng và mảng phong phú được mã hóa thành định dạng được mã hóa URL, cho phép trải nghiệm giống JSON với mã hóa URL. Để biết thêm thông tin, vui lòng xem thư viện qs .

Tôi đã đọc tài liệu qsquerystring nhưng tôi không thể tìm thấy bất kỳ sự khác biệt rõ ràng nào, vì vậy tôi yêu cầu trợ giúp tại đây.

Trả lời

8

Giao thức mở rộng sử dụng thư viện qs để phân tích cú pháp dữ liệu x-www-form-urlencoded. Ưu điểm chính của qs là nó sử dụng thuật toán tuần tự hóa/deserialization rất mạnh, có khả năng tuần tự hóa bất kỳ cấu trúc dữ liệu giống như json nào.

Nhưng trình duyệt web thường không sử dụng giao thức này, vì x-www-form-urlencoded được thiết kế để tuần tự hóa các biểu mẫu html phẳng. Mặc dù, nó có thể có ích nếu bạn đang đi để gửi cấu trúc dữ liệu phong phú bằng cách sử dụng ajax.

thư viện truy vấn` cung cấp thuật toán tuần tự hóa/deserialization cơ bản, thuật toán được tất cả các trình duyệt web sử dụng để tuần tự hóa dữ liệu biểu mẫu. Thuật toán cơ bản này đơn giản hơn đáng kể so với thuật toán mở rộng, nhưng giới hạn trong cấu trúc dữ liệu phẳng.

Cả hai thuật toán hoạt động giống hệt nhau với dữ liệu phẳng.

Các vấn đề liên quan