Cách gửi mảng trong tham số truy vấn Node js
Là nhà phát triển JavaScript, bạn sẽ thường xuyên cần tạo URL và tham số chuỗi truy vấn. Một cách hợp lý để xây dựng tham số chuỗi truy vấn là sử dụng đối tượng một lớp với các cặp giá trị chính Trong hướng dẫn này, chúng tôi sẽ đề cập đến nhiều cách khác nhau để biến một đối tượng như thế này
thành một chuỗi truy vấn như thế này
sở thích Được đăng trong những sở thích này Đặt mua JavaScript h/javascript • 27 hướng dẫn Đặt mua webdev h/webdev • 60 hướng dẫn 1 Nếu bạn đang sử dụng trình duyệt (hoặc nút) hiện đại, bạn có thể sử dụng 2 để tạo một mảng các chuỗi như 3, sau đó sử dụng 4 để nối chúng cùng với 0ES6
ES5
2 Nếu bạn là kiểu người sử dụng jQuery, bạn đã có sẵn một giải pháp
3 Nếu bạn đang sử dụng nút, bạn có thể sử dụng mô-đun chuỗi truy vấn
4 Nếu bạn biết khóa và giá trị của mình cần được mã hóa, bạn nên sử dụng 1 như thế này________số 8Cũng có thể truy vấn theo dấu thời gian trong MySQL Chia sẻ FacebookRedditTwitterPinterestEmailText message Yêu thích TIẾP THEO Cách chỉ định các tham số chỉ dành cho vị trí trong Python Ngày 11 tháng 8 năm 2021 0Nếu bạn đã quen thuộc với các đối số chỉ chứa từ khóa của Python, thì có lẽ bạn đã tự hỏi tại sao lại không tồn tại ràng buộc tương tự đối với các đối số vị trí. Điều này thay đổi với Python 3 Câu trả lời. Không có cách nào "đúng". Nó phụ thuộc khá nhiều vào môi trường thời gian chạy của bạn (ngôn ngữ, khung, nền tảng). Hãy xem một số môi trường phổ biến xử lý nó như thế nào PHPTrong PHP, bạn có thể mã hóa bằng http_build_query
(Ghi chú. Tôi là 3-ing nên đầu ra rất dễ đọc. )Vì vậy, PHP làm phẳng khá nhiều mảng/đối tượng bằng các khóa được lồng trong dấu ngoặc vuông. Hỗ trợ mảng/đối tượng đa chiều 1Làm thế nào về giải mã? . Nó hỗ trợ định dạng tương tự được trả về 4 3 5 cũng không phiền nếu bạn bỏ qua các phím số nguyên cho danh sách (tức là mảng, không phải đối tượng) 5Khá đơn giản, phải không? JavaScriptJavaScript trong trình duyệt cung cấp cho bạn API tuyệt vời này có tên là URLSearchParams, trong khi Node. js cung cấp cho bạn mô-đun chuỗi truy vấn. Hãy thử mã hóa Đầu tiên trong trình duyệt 6"[đối tượng+Đối tượng]"? . Nó chuyển giá trị được cung cấp của bạn thành một chuỗi. 6 của một đối tượng chung trả về "[đối tượng đối tượng]"Cũng thế. có vẻ như nó đã xử lý tham số mảng, nhưng không phải vậy. 6 của một mảng sẽ trả về các giá trị được nối bằng dấu phẩy. Để kiểm tra điều này, nếu bạn thử gọi 8, bạn sẽ nhận được một mảng chứa chuỗi "1,3" dưới dạng một mục, thay vì một mảng có hai mục riêng biệtTuy nhiên, URLSearchParams có hỗ trợ mảng. Nhưng bạn cần phải "nối" chúng cùng một lúc. Trong trường hợp của chúng tôi, đây sẽ là 0Tôi chắc chắn không thích điều đó. 😕 Ngại gì mà đến Node. js 1Hà. Có vẻ như nó chỉ bỏ qua đối tượng 9. Vâng, các tài liệu giải thích
chào. Tốt hơn 11, tôi đoán vậy. ¯\_(ツ)_/¯Đối với mảng, 12 tuân theo URLSearchParams, chỉ có điều nó không yêu cầu bạn nối thêm các mục riêng lẻĐược rồi, còn việc giải mã thì sao? trình duyệt 6Nút 7Hành vi khá giống nhau Bạn có thể thử giải mã chuỗi truy vấn kiểu PHP, nhưng nó sẽ không hoạt động theo cách bạn mong đợi. Tất cả các khóa sẽ được trả về nguyên trạng 0 1Nếu bạn thử phân tích cú pháp các tham số truy vấn mảng kiểu JS bằng PHP, nó cũng bị lỗi. Bạn chỉ nhận được giá trị cuối cùng 2Nhưng có một sự thay đổi. . Vì vậy, đó là hai cách khác nhau (với sự khác biệt tinh tế) để làm việc với các tham số truy vấn trong Node. js Và hãy nhớ những gì tôi đã nói về nó là khuôn khổ cụ thể? . js không hỗ trợ các tham số truy vấn kiểu PHP, nhưng Express (một Node. js) không. Express phân tích chính xác 13 thành một đối tượng và một mảng. Vì vậy, yeah, nó không chỉ là một thứ ngôn ngữỒ, và đây chỉ là một số cách tiếp cận khả thi. Có những thứ khác mà tôi không đề cập đến, như mã hóa JSON đối tượng và đặt nó vào URL Làm gì khi xây dựng backend?Trước hết, có lẽ nên thông minh để tránh phải sử dụng các tham số truy vấn mảng hoặc đối tượng khi bạn có thể. Điều đó nói rằng, đôi khi bạn không thể. Trong trường hợp như vậy, cách tốt nhất của bạn là chọn một kế hoạch, truyền đạt nó và bám sát nó. Để chọn một lược đồ, hãy tìm hiểu xem hệ thống nào hoạt động trong khuôn khổ hoặc ngôn ngữ của bạn bằng cách chạy các bài kiểm tra đơn giản như các bài kiểm tra ở trên👆. (Đừng quên test từ frontend nếu đó là cách dịch vụ của bạn sẽ được sử dụng. )Ngoài ra, bạn có thể lập sơ đồ của riêng mình. Đó thường không phải là một ý tưởng hay, nhưng sẽ tốt hơn nếu nhu cầu của bạn đơn giản. Chẳng hạn, nếu bạn chỉ cần một danh sách các chuỗi, bạn có thể chỉ định tham số là một chuỗi thông thường được phân tách bằng dấu phẩy và trên máy chủ của bạn, bạn cố tình tách chuỗi bằng dấu phẩy để tạo mảng của mình. Bằng cách đó, bạn không phải lo lắng về khuôn khổ Và sau đó giao tiếp. Cho người tiêu dùng của bạn biết bạn đang sử dụng định dạng nào. Nếu bạn đang xây dựng một API, hãy đưa ra các ví dụ trong tài liệu API của bạn. Bằng cách đó, họ có thể biết không dựa vào bất kỳ khuôn khổ nào mà khách hàng của họ được xây dựng trên đó mà tự xử lý việc mã hóa khung này Cuối cùng, dính vào nó. Dù bạn chọn sơ đồ nào, hãy nhất quán với nó trong toàn bộ chương trình phụ trợ của bạn Này👋. Tôi viết về những thách thức kỹ thuật phần mềm thú vị. Bạn muốn được cập nhật khi tôi xuất bản bài viết mới? . ứng dụng/blog. shalvah. tôi (Lời thú tội. Tôi đã xây dựng xúc tu. ✋ Nó giúp bạn giữ hộp thư đến sạch sẽ bằng cách kết hợp các blog yêu thích của bạn vào một bản tin hàng tuần. ) |