


Mengapa Kod JavaScript Saya Tidak Boleh Membaca Fail Teks Setempat, dan Bagaimana Saya Boleh Membetulkannya?
Dec 17, 2024 pm 08:44 PMMenyelesaikan Masalah Pembacaan Fail Teks Setempat dalam Penyemak Imbas
Dalam percubaan untuk mencipta pembaca fail teks asas, fungsi JavaScript telah dibangunkan untuk mengambil dalam laluan fail, huraikan setiap baris ke dalam tatasusunan aksara, tetapi menemui ralat. Artikel ini bertujuan untuk mendiagnosis dan menyelesaikan isu ini.
Diagnosis Ralat
Pada mulanya, kod gagal memaparkan kandungan teks, walaupun berjaya mendapatkan semula laluan fail. Selepas penyahpepijatan, didapati bahawa objek XMLHttpRequest tidak mengendalikan akses fail setempat dengan betul.
Penukaran kepada Firefox menghasilkan hasil yang berjaya, menyerlahkan kemungkinan isu khusus penyemak imbas. Chrome, khususnya, telah membuang XMLHttpRequest pengecualian 101, menunjukkan ralat rangkaian.
Penyelesaian untuk Keserasian Penyemak Imbas
Untuk menangani isu keserasian penyemak imbas, API Ambil, diperkenalkan dalam JS pada 2015, menawarkan pendekatan yang lebih mudah dan lebih mantap untuk mengambil data daripada URL. Berikut ialah versi kod yang dikemas kini:
fetch("myText.txt") .then((res) => res.text()) .then((text) => { // process the text content }) .catch((e) => console.error(e));
Mengakses Fail Setempat
Pelayar moden sangat menyekat akses sistem fail langsung, jadi penggunaan file:/// harus dielakkan . Sebaliknya, pelayan web ringan seperti python -m http.server atau npx http-server boleh digunakan untuk memuatkan data melalui URL HTTP standard.
Status Pengendalian 0
Bila mengakses fail tempatan menggunakan XMLHttpRequest, tiada status dikembalikan. Untuk menyelesaikan masalah ini, semakan status 0 diperlukan:
function readTextFile(file) { var rawFile = new XMLHttpRequest(); rawFile.open("GET", file, false); rawFile.onreadystatechange = function () { if (rawFile.readyState === 4) { if (rawFile.status === 200 || rawFile.status == 0) { // process the text content } } }; rawFile.send(null); }
Contoh Penggunaan
Untuk menggunakan kod yang dikemas kini, nyatakan laluan fail menggunakan fail:// /:
readTextFile("file:///C:/your/path/to/file.txt");
Atas ialah kandungan terperinci Mengapa Kod JavaScript Saya Tidak Boleh Membaca Fail Teks Setempat, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat panas Tag

Artikel Panas

Alat panas Tag

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

Plugin JS Manipulasi 5 Tarikh Teratas

Tutorial Persediaan API Carian Google Custom
