Saya telah melihat banyak contoh jQuery di mana ukuran dan nama parameter tidak diketahui.
URL saya hanya akan memiliki 1 string:
http://example.com?sent=yes
Saya hanya ingin mendeteksi:
- Apakah
sent
ada - Apakah sama dengan "ya"?
jquery
url
parameters
query-string
querystringparameter
LeBlaireau
sumber
sumber
Jawaban:
Solusi terbaik di sini .
Dan ini adalah bagaimana Anda dapat menggunakan fungsi ini dengan asumsi URL adalah
http://dummy.com/?technology=jquery&blog=jquerybyexample
,.sumber
false
ataunull
untuk pencarian kosong&
atau=
dalam nilai parameter.Solusi dari 2020
Kami memiliki: http://example.com?sent=yes
Apakah terkirim ada ?
Apakah sama dengan "ya"?
dan kemudian bandingkan saja.
sumber
if ('URLSearchParams' in window) { // Browser supports URLSearchParams}
Lihat di siniCuplikan kode jQuery untuk membuat variabel dinamis disimpan di url sebagai parameter dan menyimpannya sebagai variabel JavaScript yang siap digunakan dengan skrip Anda:
example.com?param1=name¶m2=&id=6
contoh params dengan spasi
sumber
return results[1] || 0;
seharusnyareturn decodeURI(results[1]) || 0;
|| 0
bagian karena sudah ada cek untuk hasilnya, bukankah itu selalu mengembalikan array pertandingan?Saya selalu menempel ini sebagai satu baris. Sekarang params memiliki vars:
multi-baris:
sebagai fungsi
yang dapat Anda gunakan sebagai:
atau
sumber
replace(/[?&;]+([^=]+)=([^&;]*)/gi
merekonstruksi ";" karakter sebagai pemisah juga.var params={};window.location.hash.replace(/[#&]+([^=&]+)=([^&]*)/gi,function(str,key,value){params[key] = value;});
Ini berguna untuk hal-hal seperti AJAX di mana hash di jendela diperbarui dengan ajax-permintaan tetapi satu juga satu pengguna untuk pergi ke uri mengandung hash.Namun fungsi alternatif lain ...
sumber
param('t') == param('sent') == 'yes'
dalam contoh OP. Inilah perbaikannyareturn (location.search.split(new RegExp('[?&]' + name + '='))[1] || '').split('&')[0]
:; Perhatikan juga bahwa Anda tidak dapat mengetahui apakah param ada karena Anda mendapatkan string kosong untuk parameter yang hilang.return (location.search.split('?' + name + '=')[1] || location.search.split('&' + name + '=')[1] || '').split('&')[0];
Mungkin sudah terlambat. Tetapi metode ini sangat mudah dan sederhana
UPDATE
Membutuhkan plugin url: plugins.jquery.com/url
Terima kasih -Ripounet
sumber
Atau Anda dapat menggunakan fungsi kecil yang rapi ini, karena mengapa solusi terlalu rumit?
yang terlihat lebih baik ketika disederhanakan dan online:
tl; solusi satu jalur dr
Tetapi bagaimana jika Anda memiliki karakter yang disandikan atau kunci multinilai ?
Anda sebaiknya melihat jawaban ini: Bagaimana saya bisa mendapatkan nilai string kueri dalam JavaScript?
Menyelinap puncak
sumber
Menggunakan
URLSearchParams
:Hati-hati dengan kompatibilitas (Sebagian besar baik-baik saja, tapi IE dan Edge, mungkin cerita yang berbeda, periksa ini untuk referensi yang kompatibel: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams )
sumber
Yang ini sederhana dan bekerja untuk saya
jadi jika url Anda http://www.yoursite.com?city=4
coba ini
sumber
Mungkin Anda ingin memberi tampilan pada Dokter Gigi JS ? (penafian: saya menulis kode)
kode:
dengan Dentist JS, Anda pada dasarnya dapat memanggil fungsi ekstrak () pada semua string (mis. document.URL.extract ()) dan Anda mendapatkan kembali HashMap dari semua parameter yang ditemukan. Ini juga dapat disesuaikan untuk berurusan dengan pembatas dan semua.
Versi yang diperkecil <1kb
sumber
Saya harap ini akan membantu.
sumber
sumber
Coba demo kerja ini http://jsfiddle.net/xy7cX/
API:
inArray
: http://api.jquery.com/jQuery.inArray/Ini seharusnya membantu
:)
kode
sumber
Ada perpustakaan hebat ini: https://github.com/allmarkedup/purl
yang memungkinkan Anda untuk melakukannya secara sederhana
Contohnya dengan asumsi Anda menggunakan jQuery. Anda juga dapat menggunakannya seperti javascript biasa, sintaks kemudian akan sedikit berbeda.
sumber
Ini mungkin berlebihan, tapi ada perpustakaan yang cukup populer sekarang tersedia untuk parsing URI, disebut URI.js .
Contoh
sumber
Sangat sederhana Anda dapat menggunakan url apa saja dan mendapatkan nilai
Contoh Penggunaan
Catatan: Jika suatu parameter hadir beberapa kali (? First = value1 & second = value2), Anda akan mendapatkan nilai pertama (value1) dan nilai kedua sebagai (value2).
sumber
Ini akan memberi Anda objek yang bagus untuk bekerja
Lalu;
sumber
Ini didasarkan pada jawaban Gazoris , tetapi URL menerjemahkan parameter sehingga mereka dapat digunakan ketika mengandung data selain angka dan huruf:
sumber
Ada contoh lain dengan menggunakan perpustakaan URI.js.
Contoh menjawab pertanyaan persis seperti yang ditanyakan.
sumber
Solusi terbaik di sini .
Dengan fungsi di atas, Anda bisa mendapatkan nilai parameter individual:
sumber
Versi Coffeescript dari jawaban Sameer
sumber
Sedikit perbaikan pada jawaban Sameer, cache params menjadi penutup untuk menghindari penguraian dan perulangan melalui semua parameter setiap kali memanggil
sumber
Saya menggunakan ini dan itu berhasil. http://codesheet.org/codesheet/NF246Tzs
sumber
Dengan JavaScript vanilla, Anda dapat dengan mudah mengambil params (location.search), dapatkan substring (tanpa?) Dan mengubahnya menjadi array, dengan membaginya dengan '&'.
Saat Anda mengulanginya melalui urlParams, Anda kemudian dapat membagi string lagi dengan '=' dan menambahkannya ke objek 'params' sebagai objek [elmement [0]] = elemen [1]. Super sederhana dan mudah diakses.
http://www.website.com/?error=userError&type=handwritten
sumber
Bagaimana jika ada & dalam parameter URL seperti nama file = "p & g.html" & uid = 66
Dalam hal ini fungsi ke-1 tidak akan berfungsi dengan baik. Jadi saya memodifikasi kodenya
sumber
Memang saya menambahkan jawaban saya ke pertanyaan yang terlalu banyak dijawab, tetapi ini memiliki kelebihan:
- Tidak tergantung pada pustaka luar, termasuk jQuery
- Tidak mencemari namespace fungsi global, dengan memperluas 'String'
- Tidak membuat data global dan melakukan pemrosesan yang tidak perlu setelah kecocokan ditemukan
- Menangani masalah pengkodean, dan menerima (dengan asumsi) nama parameter yang tidak dikodekan
- Menghindari
for
loop eksplisitMaka Anda akan menggunakannya sebagai:
sumber
Jika Anda ingin menemukan parameter tertentu dari url tertentu:
sumber
Solusi lain yang menggunakan jQuery dan JSON, sehingga Anda dapat mengakses nilai parameter melalui objek.
Dengan asumsi URL Anda adalah
http://example.com/?search=hello+world&language=en&page=3
Setelah itu tinggal menggunakan parameter seperti ini:
mengembalikan
Penggunaan yang paling berguna dari ini adalah menjalankannya pada pemuatan halaman dan memanfaatkan variabel global untuk menggunakan parameter di mana pun Anda mungkin membutuhkannya.
Jika parameter Anda berisi nilai numerik maka parsing nilainya.
Jika tidak ada parameter
param
hanya akan menjadi objek kosong.sumber
sumber
Gunakan ini
sumber