Rumah > Soal Jawab > teks badan
P粉1477476372023-08-18 09:43:27
Memandangkan anda memerlukannya dan pelayan anda menyokongnya, cuma betulkan pada akhirnya
const myUrl = new URL("http://www.example.com/?"); let params = myUrl.searchParams; params.set('$param1', '60'); params.set('$param2', '100'); console.log(myUrl.toString().replace(/%24/g,"$"))
P粉9860280392023-08-18 09:07:27
Dalam kes anda, kaedah $
字符被编码为%24
,因为它是URL中的保留字符。 URLSearchParams
对象的set
mengekod aksara ini secara automatik untuk memastikan rentetan yang terhasil ialah URL yang sah.
Walau bagaimanapun, jika anda ingin memasukkan $
aksara sebagaimana adanya, anda boleh memintas pengekodan automatik dengan membina rentetan pertanyaan secara manual:
const myUrl = new URL("http://www.example.com/?"); let params = ['$param1=60', '$param2=100'].join('&'); myUrl.search = params; console.log(myUrl.toString()); // 输出:http://www.example.com/?$param1=60&$param2=100
Ini akan memberikan anda output yang diingini, tetapi sila ambil perhatian bahawa ini mungkin bukan URL yang sah mengikut spesifikasi URL, kerana $
ialah aksara yang dikhaskan. Ini boleh menyebabkan masalah dengan pelayan atau API tertentu.
Jika anda mengawal pelayan atau API yang anda sedang berinteraksi, dan anda yakin ia boleh mengendalikan URL dengan $
字符的URL,则此方法应该有效。否则,通常最安全的做法是使用URLSearchParams
aksara dalam rentetan pertanyaan, kaedah ini sepatutnya berfungsi. Jika tidak, biasanya paling selamat menggunakan pengekodan automatik yang disediakan oleh URLSearchParams
.
Sila sahkan jika penyelesaian ini berfungsi untuk anda atau jika anda memerlukan bantuan lanjut.