Lihatlah kodenya:
var xmlhttp=getHTTPObject();
var post="tes·tes+tes·";
xmlhttp.open('POST', 'test.asp?random='+Math.random(), true);
xmlhttp.setrequestheader("panjang konten",post.panjang);
xmlhttp.setRequestHeader("Tipe Konten","application/x-www-form-urlencoded");
xmlhttp.onreadystatechange = fungsi(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200 ){
peringatan(xmlhttp.responseText);
kembali benar;
}
}
xmlhttp.send("act="escape(posting));
Di sini, saya mengirim string escape("test·test+test·") dalam mode POST, dan menggunakan setRequestHeader.
Saat menerimanya di sisi ASP, saya menggunakan
<%Response.CodePage=936%>
<%Respon.Charset="gb2312"
Respon.Tulis Unescape(Permintaan("tindakan"))
%>
Terakhir, setelah debugging, hasil yang Anda lihat adalah "·" atau "+" tidak ditampilkan.
Awalnya saya mengira itu adalah akibat dari ketidakcocokan escape dan unescape di asp dan javascript. Kemudian saya menggunakan vbsunescape (seperti yang ditunjukkan di bawah) daripada unescape dan masalahnya tetap sama.
<script bahasa="javascript" runat="server">
fungsi vbsunescape(sumber){
kembalikan unescape(sumber);
}
</skrip>
Saya lolos dari +, tetapi saya tidak tahu bagaimana melakukannya. Itu diubah menjadi apa? Awalnya saya ingin menulisnya ke dalam file biner untuk dilihat (itu harus berupa file biner), tetapi saya menggunakan stream untuk mengoperasikannya file biner di bawah asp. Saya terus membuat kesalahan saat membuat file. Saya tidak punya waktu untuk melakukan ini. Masih banyak hal yang harus dilakukan, jadi saya akan menyelesaikan beberapa pelarian untuk saat ini para ahli yang melihat blog ini. Jika Anda menyelesaikannya, beri tahu saya.
fungsi escape2(str){
return escape(str).replace(/+/g,"%2b");
}
--------------------------------
Saya melihat balasan semua orang, terima kasih semuanya. Setelah menyerap inti pemikiran semua orang, saya akhirnya menemukan jawabannya. . . .
Solusi sempurna terakhir adalah
pengirim dapat menggunakan encodeURIComponent(escape(xxxxxxx)) (kode pengiriman dan penerimaan lainnya sama seperti di atas).
Saya hanya mencoba encodeURI kemarin dan tidak memikirkan metode encodeURIComponent dan escape socket sekarang aku terinspirasi dan mencobanya, luar biasa, OHYEAH! Pergi makan! !