latar belakang:
Saat melakukan tugas hari ini, saat menggunakan Ajax JQuery untuk melewati serangkaian karakter yang panjang, verifikasi latar belakang tidak berhasil. Setelah memeriksa pagi hari, ternyata ada+nomor dalam string yang saya hasilkan, dan ketika JS berlalu, saya akan memahaminya sebagai karakter koneksi.
alasan:
Setelah JS, secara otomatis menganalisis karakter khusus, seperti+nomor adalah konektor, parsing sebagai ruang, & merupakan konektor variabel, data di server tidak menampilkan data setelah menerima data, dan sebagainya.
Larutan:
1. Masukkan karakter dalam bentuk, dan kemudian kirim formulir ke server dengan JS.
2. Ganti karakter khusus dalam karakter ke karakter heksadesimal.
| + | Ruang angkasa | / / / | Ada apa lagi? | % | & | = | # # |
| %2b | %20 | %2F | %3f | %25 | %26 | & 3d | %dua puluh tiga |
str = str.replace (//+/g, "%2b");
3. Yang paling sederhana adalah dengan menggunakan fungsi encodeuricomponent ().
Metode ini tidak akan mengkode surat dan angka ASCII, mereka juga tidak akan mengkode simbol tanda baca ASCII ini: -_. ~ * '().
Karakter lain (seperti:;/?:@& =+$, #Simbol tanda baca untuk memisahkan komponen URI) digantikan oleh satu atau lebih urutan transisi heksadesimal.