Rumah hujung hadapan web tutorial js Mengapa Kod JavaScript Saya Tidak Boleh Membaca Fail Teks Setempat, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Kod JavaScript Saya Tidak Boleh Membaca Fail Teks Setempat, dan Bagaimana Saya Boleh Membetulkannya?

Dec 17, 2024 pm 08:44 PM

Why Can't My JavaScript Code Read Local Text Files, and How Can I Fix It?

Menyelesaikan 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));
Salin selepas log masuk

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);
}
Salin selepas log masuk

Contoh Penggunaan

Untuk menggunakan kod yang dikemas kini, nyatakan laluan fail menggunakan fail:// /:

readTextFile("file:///C:/your/path/to/file.txt");
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat panas Tag

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Ganti aksara rentetan dalam javascript

periksa jQuery jika tarikh sah periksa jQuery jika tarikh sah Mar 01, 2025 am 08:51 AM

periksa jQuery jika tarikh sah

jQuery mendapatkan padding/margin elemen jQuery mendapatkan padding/margin elemen Mar 01, 2025 am 08:53 AM

jQuery mendapatkan padding/margin elemen

Plugin JS Manipulasi 5 Tarikh Teratas Plugin JS Manipulasi 5 Tarikh Teratas Feb 28, 2025 am 12:34 AM

Plugin JS Manipulasi 5 Tarikh Teratas

10 patut diperiksa plugin jQuery 10 patut diperiksa plugin jQuery Mar 01, 2025 am 01:29 AM

10 patut diperiksa plugin jQuery

10 Tab Accordion JQuery 10 Tab Accordion JQuery Mar 01, 2025 am 01:34 AM

10 Tab Accordion JQuery

jQuery tambah bar scroll ke div jQuery tambah bar scroll ke div Mar 01, 2025 am 01:30 AM

jQuery tambah bar scroll ke div

Tutorial Persediaan API Carian Google Custom Tutorial Persediaan API Carian Google Custom Mar 04, 2025 am 01:06 AM

Tutorial Persediaan API Carian Google Custom

See all articles