Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menyemak sama ada fail yang disebutkan wujud menggunakan JavaScript/jQuery?

Bagaimana untuk menyemak sama ada fail yang disebutkan wujud menggunakan JavaScript/jQuery?

WBOY
WBOYke hadapan
2023-08-24 08:05:061251semak imbas

如何使用 JavaScript/jQuery 检查提到的文件是否存在?

Menggunakan JavaScript atau jQuery, kami boleh menyemak sama ada fail wujud dan mendapatkan semula metadata tentang fail seperti saiz, jenis kandungan, tarikh terakhir diubah suai, dll. tanpa mendapatkan semula fail sebenar. Gunakan permintaan HTTP HEAD dalam kes ini. Permintaan HTTP HEAD ialah permintaan HTTP yang meminta pelayan mengembalikan pengepala HTTP untuk sumber yang ditentukan tanpa mengembalikan sumber sebenar itu sendiri.

Terdapat beberapa cara untuk menghantar permintaan HTTP HEAD, tetapi yang paling popular ialah menggunakan kaedah $.ajax() dan objek XMLHttpRequest. Pengguna boleh mentakrifkan jenis permintaan sebagai "HEAD" menggunakan mana-mana kaedah ini dan juga boleh memasukkan fungsi panggil balik untuk mengendalikan respons. Jika fail wujud dalam respons pelayan, fungsi panggil balik akan dipanggil. Jika fail tidak wujud, fungsi panggil balik tidak dipanggil dan pengecualian dibuang.

Jika kami mendapati fail yang disebutkan itu wujud, kami boleh mengambil sebarang tindakan seperti menunjukkan fail sebenar atau menunjukkan mesej yang terdiri daripada metadata fail dsb. Jika fail yang disebutkan tidak wujud, kami boleh menunjukkan mesej ralat wujud. Ia akan meningkatkan prestasi kerana kami tidak cuba mendapatkan fail besar sebenar sebaliknya kami menyemak statusnya.

Gunakan kaedah ajax()

Untuk menyemak sama ada fail wujud menggunakan kaedah $.ajax() dalam jQuery kita boleh menggunakan langkah berikut -

  • Buat objek yang mengandungi pilihan jenis, "url", "kejayaan" dan "ralat". Pilihan jenis hendaklah ditetapkan kepada "HEAD", pilihan "url" hendaklah ditetapkan kepada URL fail yang ingin kita semak, dan pilihan "kejayaan" dan "ralat" hendaklah fungsi panggil balik untuk mengendalikan respons jika permintaan masing-masing berjaya atau gagal.

  • Panggil kaedah "$.ajax()" dan masukkan objek yang kami buat dalam langkah 1 sebagai parameter.

  • Dalam fungsi panggil balik "kejayaan", jika fail wujud, kami boleh mengambil sebarang tindakan yang diingini. Sebagai contoh, kami boleh memaparkan fail kepada pengguna atau melakukan tindakan lain.

  • Dalam fungsi panggil balik "ralat", kami boleh mengambil sebarang tindakan yang diingini jika fail tidak wujud. Sebagai contoh, kami boleh menunjukkan mesej ralat atau mengubah hala pengguna ke halaman lain

Tatabahasa

$.ajax({ 
   url: url,
   type: 'HEAD',
   success: function () {
      // The mentioned file exist!
   },
   error: function () {
      // The mentioned file does not exist!
   },
})

Sintaks menunjukkan bahawa atribut jenis ditetapkan kepada HEAD untuk menentukan bahawa kami menghantar permintaan HEAD ke pelayan. Sifat url ditetapkan kepada URL skrip atau aplikasi sebelah pelayan yang ingin kami hantar permintaan.

Contoh

Dalam contoh ini, kami menggunakan kaedah ajax untuk menyemak sama ada fail yang disebutkan itu wujud. Kami menggunakan perpustakaan ajax jQuery. Letakkan medan input ke dalam laluan fail yang berbeza untuk menyemak sama ada ia wujud. Jika fail wujud, fungsi kejayaan memaparkan mesej "Fail yang disebutkan wujud pada halaman web, dan jika fail tidak wujud, fungsi ralat memaparkan mesej "Fail yang disebutkan tidak wujud!" .

<html>
<head>
   <script src ="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
   <h2>Checking if Mentioned <i>File Exists or not</i> using JavaScript/jQuery</h2>
   <h4>Enter file path:</h4>
   <input id = "file_path" name = "file_path" />
   <button onclick="checkFile()">Check File</button>
   <div id = "root" style = "padding: 10px; background: #b8f0ea"></div> 
   <script>
      let root = document.getElementById('root')
      let file_path = document.getElementById('file_path')
      function checkFile() {
         $.ajax({
            url: file_path.value,
            type: 'HEAD',
            success: function () {
               root.innerHTML = 'The mentioned file exist!'
            },
            error: function () {
               root.innerHTML = 'The mentioned file does not exist!'
            },
         })
      }
   </script>
</body>
</html> 

Gunakan kaedah XMLHttpRequest()

Untuk menyemak sama ada fail wujud menggunakan objek "XMLHttpRequest" dalam JavaScript, kami boleh menggunakan langkah berikut -

  • Buat objek "XMLHttpRequest" baharu.

  • Gunakan kaedah "open()" objek "XMLHttpRequest" untuk menentukan URL fail yang ingin kami semak dan tetapkan kaedah permintaan kepada "HEAD".

  • Gunakan kaedah "hantar()" objek "XMLHttpRequest" untuk menghantar permintaan.

  • Semak atribut "status" objek "XMLHttpRequest" untuk melihat sama ada fail itu wujud. Jika atribut 'status' ialah 200, fail wujud jika atribut 'status' ialah 404, fail itu tidak wujud.

Tatabahasa

var http = new XMLHttpRequest()
http.open('HEAD', url, false)
http.send()
if (http.status === 200) {
   
   //This file exist!
} else {
   
   //This file does not exist!
} 

Dalam sintaks di atas, kami telah menggunakan XMLHttpRequest() dan berdasarkan kod status, kami boleh menulis kod sama ada fail itu wujud atau tidak.

Contoh

Dalam contoh ini, kami menggunakan kaedah XMLHttpRequest() untuk menyemak sama ada fail yang disebutkan wujud. Letakkan medan input ke dalam laluan fail yang berbeza untuk menyemak sama ada ia wujud. Jika fail wujud, kod status akan menjadi 200 dan kami akan memaparkan mesej "Fail ini tidak wujud, jika fail tidak wujud, fungsi ralat memaparkan halaman "Fail ini tidak wujud!" .

<html>
<body>
   <h2>Checking If Mentioned File Exists or not using JavaScript/ jQuery</h2>
   <h4>Enter file path:</h4>
   <input id = "file_path" name = "file_path" />
   <button onclick = "checkFile()">Check File</button>
   <div id = "root" style = "padding: 10px; background: #f0ecb8"></div>
   <script>
      let root = document.getElementById('root')
      let file_path = document.getElementById('file_path')
      function checkFile() {
         var http = new XMLHttpRequest()
         http.open('HEAD', file_path.value, false)
         http.send()
         if (http.status === 200) {
            root.innerHTML = 'This file exist!'
         } else {
            root.innerHTML = 'This file does not exist!'
         }
      }
   </script>
</body>
</html>

Menyemak sama ada fail yang disebut wujud adalah amalan yang baik apabila bekerja dengan fail data besar, JavaScript dan jQuery memberi kami keupayaan untuk menyemaknya.

Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada fail yang disebutkan wujud menggunakan JavaScript/jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam