Rumah >hujung hadapan web >tutorial js >Selesaikan masalah JS meminta pelayan gbk fail kemahiran garbled_javascript
Apabila JS memperoleh fail dengan format pengekodan pelayan gb2312, kandungan menjadi kacau bilau Permintaan rangkaian ajax menggunakan XMLHttpRequest secara dalaman, jadi anda perlu menetapkan format pengekodan sebelum meminta, tetapi tetapkan xhr.setRequestHeader("accept", " text/csv ;charset=gb2312,*/*"); tiada kesan. Hanya tetapan xhr.overrideMimeType("text/csv;charset=gb2312"); adalah betul. Kodnya adalah seperti berikut:
<span style="font-size:18px;">$.ajax({ type: "get", url:"http://7xnhdv.com1.z0.glb.clouddn.com/test1.csv", beforeSend: function(xhr) { //beforeSend定义全局变量 // xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*"); xhr.overrideMimeType("text/csv;charset=gb2312"); }, success: function(xmlDoc, textStatus, xhr) { if(xhr.status == 200) { $('#view0').text(xmlDoc); } } } );</span>
Fungsi overrideMimeType akan mengatasi pengepala yang dihantar ke pelayan, memaksa teks/csv;charset=gb2312 sebagai jenis mime.
ps: Penyelesaian kepada js memaparkan aksara bercelaru dalam bahasa Cina atau memaparkan aksara bercelaru pada halaman
Fail ①.js memaparkan aksara bercelaru dalam bahasa Cina
Fail Javascript XX.js mempunyai skema pengekodan (seperti GBK) semasa mengedit dan menyimpan Apabila pengekodan yang digunakan semasa membuka fail (seperti UTF-8) tidak konsisten dengan skema pengekodan semasa menyimpan, aksara Cina bercelaru. akan muncul.
Penyelesaian:
(1) Apabila membuka dan menyemak imbas dengan editor, pilih kaedah pengekodan yang konsisten dengan pengekodan fail asal (seperti GBK) untuk dilihat, maka tidak akan ada aksara yang bercelaru
(2) Pilih XX.js yang bercelaru dalam penjelajah pakej dalam eclipse, pilih sifat dalam menu klik kanan dan pilih pengekodan (seperti GBK) semasa mengedit dan menyimpan dengan XX.js dalam pengekodan fail Teks, maka ia boleh dipaparkan seperti biasa ;
②Medan bahasa Cina yang kotor dalam JavaScript dalam halaman tapak web
Aksara Cina dalam XX.js dipaparkan secara normal dalam eclipse atau editor Apabila memanggil XX.js pada halaman, selepas pelaksanaan, medan Cina dalam hasil halaman memaparkan aksara bercelaru.
Penyelesaian:
"Paparkan" kaedah pengekodan fail XX.js pada halaman yang merujuk XX.js, supaya ia konsisten dengan kaedah pengekodan fail XX.js itu sendiri (seperti GBK).
c669c80af16a8276e9fc83caaea9ba7a2cacc6d41bbb37262a98f745aa00fbf0
Cadangan:
(1) Apabila menggunakan Eclipse atau Myeclipse untuk mencipta XX.js dan mengeditnya, adalah disyorkan untuk menukar pengekodan fail Teks kepada UTF-8 dahulu, dan kemudian mengedit dan menyimpannya.
(2) Gunakan dokumen teks atau editor lain untuk mengedit dan menyimpan XX.js Adalah disyorkan untuk menyimpannya dalam pengekodan UTF-8.
(3) "Paparan" dan tambahkan kaedah pengekodan UTF-8 fail XX.js pada halaman yang merujuk XX.js.
<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“utf-8”></script>