Apa cara mudah untuk menghapus querystring dari Path di Javascript? Saya telah melihat plugin untuk Jquery yang menggunakan window.location.search. Saya tidak bisa melakukan itu: URL dalam kasus saya adalah variabel yang ditetapkan dari AJAX.
var testURL = '/Products/List?SortDirection=dsc&Sort=price&Page=3&Page2=3&SortOrder=dsc'
javascript
jquery
Mathias F
sumber
sumber
split('?', 1)[0]
.?
adalah string literal, bukan ekspresi reguler..split(/[?#]/)[0]
?Pembaruan ke-2: Dalam upaya memberikan jawaban yang komprehensif, saya membuat tolok ukur tiga metode yang diusulkan dalam berbagai jawaban.
Hasil di Firefox 3.5.8 pada Mac OS X 10.6.2:
Hasil di Chrome 5.0.307.11 di Mac OS X 10.6.2:
Perhatikan bahwa metode substring lebih rendah fungsinya karena mengembalikan string kosong jika URL tidak berisi querystring. Dua metode lainnya akan mengembalikan URL lengkap, seperti yang diharapkan. Namun menarik untuk dicatat bahwa metode substring adalah yang tercepat, terutama di Firefox.
PEMBARUAN 1: Sebenarnya metode split () yang disarankan oleh Robusto adalah solusi yang lebih baik dari yang saya sarankan sebelumnya, karena metode ini akan berfungsi bahkan ketika tidak ada querystring:
Jawaban asli:
sumber
Ini mungkin pertanyaan lama, tetapi saya telah mencoba metode ini untuk menghapus permintaan params. Tampaknya berfungsi dengan baik untuk saya karena saya perlu memuat ulang juga dikombinasikan dengan menghapus params permintaan.
Juga karena saya menggunakan operasi penambahan string sederhana, saya kira kinerjanya akan baik. Namun Masih layak dibandingkan dengan cuplikan dalam jawaban ini
sumber
Cara sederhana adalah Anda bisa melakukan sebagai berikut
sumber
Jika Anda ke RegEx ....
sumber
a++;
. Memperbaiki tes, di Firefox 3.6 saya pada iMac 2.93Ghz Core 2 Duo, saya mendapatkan 8ms untuk RegEx, dan 3ms untuk metode split ... Namun +1 untuk jawaban, karena masih pilihan lain.match()
mengembalikan objek. Anda mungkin tidak menginginkan itu. SebuttoString()
saja (atau+''
).sumber
Jika menggunakan backbone.js (yang berisi
url anchor
rute), urlquery string
dapat muncul:sebelum
url anchor
:setelah
url anchor
:Larutan:
sumber
Suatu pendekatan menggunakan standar
URL
:sumber
Jika Anda perlu melakukan operasi kompleks pada URL, Anda dapat melihat ke plugin parser url jQuery .
sumber
Begitulah cara saya melakukannya, juga memiliki dukungan RegEx.
sumber