Hari ini saya mengalami masalah tentang mentransmisikan permintaan Cina dalam permintaan AJAX dan menemukan kode kacau.
Kode berikut:
Salinan kode adalah sebagai berikut:
function updateFolderInfoByCustId (folderId, folderName, custid) {
$ .Ajax ({
Ketik: "Posting",
ContentType: "Aplikasi/X-WWW-Form-Urlencoded; Charset = UTF-8",
URL: "http: //localhost/crm/ashx/handkbsucesscustomer.ashx? method = updateCustomerbycustid & folderid ="
+ folderId + "& folderName =" + encodeuri (encodeuri (folderName)) + "& custid =" + custid,
Sukses: function (msg) {
peringatan (msg);
},
Kesalahan: function (error) {
peringatan (kesalahan);
}
});
}
Jika kode di atas baru saja dilewati "& fodername ="+FolderName, karakter Cina akan menghasilkan kode yang kacau.
"%E6%B5%8B%EB%AF%95" Format. Setelah mengonversi ke format ini, itu ditranskode saat memperoleh, seperti yang ditunjukkan di bawah ini:
Salinan kode adalah sebagai berikut:
public void updateCustomerbyCustId ()
{
int folderId = convert.toint32 (permintaan ["folderId"]);
String folderName = minta ["FolderName"];
String FolderName2 = Convert.ToString (System.web.httputility.urldecode (FolderName));
int custid = convert.toint32 (permintaan ["custid"]);
bool res = false;
mencoba
{
res = customerbusiness.updatecustomerbycustid (folderid, folderName2, custid);
}
Catch (Exception Ex)
{
melemparkan;
}
Response.write (res);
}
}
}
Setelah konversi ini, karakter Cina yang ditransmisikan dapat diperoleh.