首頁 > web前端 > js教程 > 主體

如何使用 JavaScript/jQuery 檢查提到的檔案是否存在?

WBOY
發布: 2023-08-24 08:05:06
轉載
1304 人瀏覽過

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

使用JavaScript 或jQuery,我們可以檢查文件是否存在並檢索有關文件的元數據,例如文件的大小、內容類型、上次修改日期等,而無需檢索實際文件。在這種情況下使用 HTTP HEAD 請求。 HTTP HEAD 請求是一種 HTTP 請求,它要求伺服器傳回指定資源的 HTTP 標頭,而不回傳實際資源本身。

可以使用多種方法傳送 HTTP HEAD 請求,但最受歡迎的方法是使用 $.ajax() 方法和 XMLHttpRequest 物件。使用者可以使用這些方法中的任何一種將請求類型定義為“HEAD”,並且還可以包含回呼函數來處理回應。如果伺服器回應中檔案存在,則將呼叫回調函數。如果檔案不存在,則不呼叫回調函數,並拋出異常。

如果我們發現提到的文件存在,我們可以採取任何行動,例如顯示實際文件或顯示由文件元資料組成的訊息等。如果提到的文件不存在,我們可以顯示錯誤訊息存在。它將提高我們沒有嘗試獲取實際大檔案的效能;而不是我們檢查它的狀態。

使用ajax()方法

要使用 jQuery 中的 $.ajax() 方法檢查檔案是否存在,我們可以使用下列步驟 -

  • 建立一個包含類型、「url」、「成功」和「錯誤」選項的物件。 type 選項應設定為“HEAD”,“url”選項應設定為我們要檢查的檔案的URL,“success”和“error”選項應為回呼函數,用於在以下情況下處理回應:請求分別是成功或失敗。

  • 呼叫「$.ajax()」方法並傳入我們在步驟 1 中建立的物件作為參數。

  • 在「成功」回呼函數中,如果檔案存在,我們可以採取任何所需的操作。例如,我們可以向使用者顯示檔案或執行其他操作。

  • 在「錯誤」回呼函數中,如果檔案不存在,我們可以採取任何所需的操作。例如,我們可以顯示錯誤訊息或將使用者重新導向到不同的頁面

文法

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

語法顯示 type 屬性設定為 HEAD 以指定我們正在向伺服器發送 HEAD 請求。 url 屬性設定為我們想要向其發送請求的伺服器端腳本或應用程式的 URL。

範例

在這個例子中,我們使用ajax方法檢查提到的檔案是否存在。我們使用了jQuery的ajax函式庫。將輸入欄位放入不同的檔案路徑中以檢查它們是否存在。如果文件存在,成功函數會在網頁上顯示「提到的文件存在!」訊息,如果文件不存在,則錯誤函數會在網頁上顯示「提到的文件不存在!」。

<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> 
登入後複製

使用 XMLHttpRequest() 方法

要使用 JavaScript 中的「XMLHttpRequest」物件來檢查檔案是否存在,我們可以使用下列步驟 -

  • 建立一個新的「XMLHttpRequest」物件。

  • 使用「XMLHttpRequest」物件的「open()」方法指定我們要檢查的檔案的 URL,並將請求方法設為「HEAD」。

  • 使用「XMLHttpRequest」物件的「send()」方法傳送請求。

  • 檢查「XMLHttpRequest」物件的「status」屬性以查看該檔案是否存在。如果'status'屬性為200,則檔案存在;如果「status」屬性為 404,則該檔案不存在。

文法

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

在上面的語法中,我們使用了 XMLHttpRequest(),並且根據狀態程式碼,我們可以編寫檔案是否存在的程式碼。

範例

在此範例中,我們使用 XMLHttpRequest() 方法檢查所提及的檔案是否存在。將輸入欄位放入不同的檔案路徑中以檢查它們是否存在。如果檔案存在,則狀態碼將為 200,並且我們將顯示「此檔案存在!」訊息,如果檔案不存在,則錯誤函數會在網路上顯示「此檔案不存在!」頁面。

<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>
登入後複製

檢查提到的檔案是否存在是使用大數據檔案的一個好習慣,JavaScript 和 jQuery 讓我們有能力檢查它。

以上是如何使用 JavaScript/jQuery 檢查提到的檔案是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!