Apakah ada perbedaan antara mendapatkan argumen QUERY_STRING melalui req.query[myParam]
dan req.params.myParam
? Jika ya, kapan saya harus menggunakan yang mana?
node.js
query-string
Pavindu
sumber
sumber
req.param
sekarang tidak digunakan lagi. Node menyarankan menggunakanreq.query
ataureq.params
Diberikan rute ini
dan diberi URL ini
http://www.google.com/hi/there?qs1=you&qs2=tube
Anda akan memiliki:
persyaratan pertanyaan
persyaratan params
Express req.params >>
sumber
/
Misalkan Anda telah menetapkan nama rute Anda seperti ini:
yang akan menjadi:
Di sini, jika Anda akan mencetak: request.params
begitu
jadi request.params adalah objek yang berisi properti ke rute bernama
dan request.query berasal dari parameter kueri di URL misalnya:
request.query
begitu
sumber
Anda seharusnya dapat mengakses kueri menggunakan notasi titik sekarang.
Jika Anda ingin mengakses katakanlah Anda menerima permintaan GET di
/checkEmail?type=email&utm_source=xxxx&email=xxxxx&utm_campaign=XX
dan Anda ingin mengambil kueri yang digunakan.Params digunakan untuk parameter didefinisikan diri untuk menerima permintaan, sesuatu seperti (misalnya):
sumber
Saya ingin menyebutkan satu catatan penting mengenai
req.query
, karena saat ini saya sedang mengerjakan fungsi pagination berdasarkanreq.query
dan saya punya satu contoh menarik untuk ditunjukkan kepada Anda ...Contoh:
Anda akan melihat
+
tanda di depanreq.query.pageSize
danreq.query.currentPage
Mengapa? Jika Anda menghapus
+
dalam hal ini, Anda akan mendapatkan kesalahan, dan kesalahan itu akan dilemparkan karena kita akan menggunakan tipe yang tidak valid (dengan pesan kesalahan, field 'batas' harus berupa angka).Penting : Secara default jika Anda mengekstrak sesuatu dari parameter kueri ini, itu akan selalu berupa string , karena itu datang dari URL dan itu diperlakukan sebagai teks.
Jika kita perlu bekerja dengan angka, dan mengubah pernyataan query dari teks menjadi angka, kita cukup menambahkan tanda plus di depan pernyataan.
sumber