JavaScript >> Javascript 文檔 >  >> JavaScript

如何在 JavaScript 中檢查服務器上是否存在圖像

在現代 JavaScript 中,您可以使用 Fetch API 檢查服務器上是否存在圖像或任何其他資源文件。 Fetch 是一個簡單的基於 promise 的 API,用於從服務器異步獲取資源。

下面是一個使用 Fetch API 檢查圖像是否存在的示例:

fetch('/img/bulb.svg', { method: 'HEAD' })
    .then(res => {
        if (res.ok) {
            console.log('Image exists.');
        } else {
            console.log('Image does not exist.');
        }
    }).catch(err => console.log('Error:', err));

上面的示例代碼發送一個 HTTP HEAD 請求並檢查響應代碼。如果響應正常(狀態代碼 200),則打印找到圖像。否則圖片不存在。

確保您在使用 Fetch API 時發出同源請求或在服務器上啟用了 CORS。否則會拋出跨域資源共享(CORS)被阻止的錯誤。此外,Fetch API 僅受現代瀏覽器支持,在 Internet Explorer 中不起作用。

如需更多瀏覽器支持,您始終可以使用適用於 Internet Explorer 6 及更高版本的舊 XHR:

// create an XHR object
const xhr = new XMLHttpRequest();

// listen for `onload` event
xhr.onload = () => {
    if (xhr.status == 200) {
        console.log('Image exists.');
    } else {
        console.log('Image does not exist.');
    }
};

// create a `HEAD` request
xhr.open('HEAD', '/img/bulb.svg');

// send request
xhr.send();

上述示例不僅限於檢查服務器上是否存在圖像。它們可用於檢查任何其他文件是否存在,例如 JavaScript、級聯樣式表 (CSS)、PDF 等。


Tutorial JavaScript 教程
  1. 如何測試該方法是否已在 jasmine 中調用?

  2. isNAN() 與 Number.isNAN()

  3. 掌握 JavaScript 的難點:閉包 II

  4. 將哨兵添加到 Vercel Next.js API 路由

  5. 了解 Angular 模塊

  6. React 用於服務器開發

  7. 有效快速學習 JavaScript 的 5 個簡單技巧

  1. 基於滾動方向的導航欄滾動動畫(用戶向上或向下滾動時切換導航欄)

  2. 我如何使用 Reddit 和 Twitter 讓您的 README 更有效

  3. 使用 Array.find() 方法搜索 JavaScript 數組 [示例]

  4. 94歲鋰離子電池發明者剛剛公佈了一款不會著火的電池

  5. 使用 Nodejs 抓取 Google Scholar 引用結果

  6. 第一天:兩個總和

  7. 如何克服你的 TypeScriptoPhobia

  1. DO Hackathon Runner DevLog #1

  2. 使用 Node.js 構建人性化的命令行界面

  3. 餘燼時報 - 第 171 期

  4. 帶有 Twitter Bootstrap 的 Dropbox 文件上傳器