API tìm nạp JavaScript

Trong hướng dẫn này, bạn sẽ tìm hiểu về API Tìm nạp JavaScript và cách sử dụng nó để thực hiện các yêu cầu HTTP không đồng bộ.

Phiên bản tiếng Anh: https://www.javascripttutorial.net/javascript-fetch-api/

Các Fetch API là một giao diện hiện đại cho phép bạn thực hiện HTTP yêu cầu đến các máy chủ từ các trình duyệt web.

Nếu bạn đã làm việc với đối tượng XMLHttpRequest( XHR), API Tìm nạp có thể thực hiện tất cả các tác vụ với tư cách là đối tượng XHR.

Ngoài ra, API Tìm nạp đơn giản và gọn gàng hơn nhiều. Nó sử dụng Promiseđể cung cấp các tính năng linh hoạt hơn để thực hiện các yêu cầu đến máy chủ của trình duyệt web.

Phương pháp fetch()có sẵn trong phạm vi toàn cầu hướng dẫn các trình duyệt web gửi yêu cầu đến một URL.

Yêu cầu: Gửi yêu cầu

Các fetch()chỉ yêu cầu một tham số đó là địa chỉ URL của tài nguyên mà bạn muốn tìm kiếm:

Phương thức fetch()trả về một Promise(một lời hứa) để bạn có thể sử dụng các phương thức then()và catch():

Khi yêu cầu hoàn tất, tài nguyên sẽ có sẵn. Tại thời điểm đó, ý Promisechí được giải quyết cho một đối tượng Response.

Đối tượng Responselà trình bao bọc API cho tài nguyên được tìm kiếm. Đối tượng Responsecó một số thuộc tính và phương thức hữu ích để kiểm tra phản hồi.

Phản hồi: Đọc câu trả lời

Nếu nội dung phản hồi ở định dạng văn bản thô, bạn có thể sử dụng phương pháp này text(). Phương thức text()trả về một phương thức phân Promisegiải với nội dung đầy đủ của tài nguyên được tìm kiếm:

Trong thực tế, bạn thường sử dụng async/awaitphương pháp này fetch(), như sau:

Ngoài ra để phương pháp này text(), các đối tượng Responsecó phương pháp khác như json(), blob(), formData()và arrayBuffer()để đối phó với các loại dữ liệu của họ.

Xử lý mã trạng thái phản hồi

Đối tượng Responsecung cấp mã tình huống và văn bản tình huống thông qua các thuộc tính statusvà statusText. Khi một yêu cầu thành công, mã statuslà 200và statusTextlà OK:

Kết quả:

Nếu tài nguyên được yêu cầu không tồn tại, mã phản hồi sẽ là 404:

Kết quả:

Nếu URL được yêu cầu tạo ra lỗi máy chủ, thì mã phản hồi sẽ là 500.

Nếu URL được yêu cầu được chuyển hướng đến URL mới có phản hồi 300-309, trạng thái của đối tượng Responsesẽ được đặt thành 200. Ngoài ra, thuộc tính được chuyển hướng sẽ được đặt thành true.

Trả fetch()về Promisengười từ chối khi có lỗi thực sự, chẳng hạn như trình duyệt hết thời gian chờ, mất kết nối mạng hoặc vi phạm CORS.

Ví dụ về API tìm nạp JavaScript

Giả sử bạn có một tệp jsonnằm trên máy chủ web với nội dung sau:

Và một trang HTML như thế này:

Trong app.js, chúng ta sẽ sử dụng phương thức này fetch()để lấy dữ liệu người dùng và kết xuất dữ liệu bên trong phần tử <div>với lớp container.

Đầu tiên, khai báo chức năng getUsers()bạn đang tìm kiếm users.jsontừ máy chủ.

Sau đó, phát triển chức năng renderUsers()hiển thị dữ liệu người dùng:

Kết quả:

tóm lược

  • Các Fetch API cho phép bạn yêu cầu một tài nguyên không đồng bộ.
  • Sử dụng phương thức fetch()để trả về một lời hứa giải quyết cho một đối tượng Response. Để lấy dữ liệu thực tế, bạn gọi một trong các phương thức của đối tượng Response, chẳng hạn text()hoặc json(). Các phương pháp này được giải quyết trong dữ liệu thực tế.
  • Sử dụng các thuộc tính statusvà statusTextđối tượng Responseđể có được tình huống và văn bản của tình huống phản ứng.
  • Sử dụng phương pháp catch()hoặc hướng dẫn try...catchđể xử lý yêu cầu thất bại.

Xem một loạt các hướng dẫn JavaScript khác mà tôi đã viết bằng cách nhấp vào liên kết bên dưới:

Hướng dẫn JavaScript

Suggested posts

Tài nguyên mã hóa được sử dụng nhiều nhất của tôi

Tài nguyên mã hóa được sử dụng nhiều nhất của tôi

Tuần này, tôi nhận được một email từ một thành viên trong danh sách email hàng ngày. Họ muốn biết: Bạn truy cập tài nguyên nào hàng ngày, hàng tuần và hàng tháng? Câu hỏi tuyệt vời! Tôi rất vui khi cố gắng chia sẻ một số thông tin chi tiết về quy trình làm việc của mình và các tài nguyên hàng đầu mà tôi sử dụng.

Chuỗi thư viện Lit — 1: Tìm hiểu sâu về Thư viện lit-html

Chuỗi thư viện Lit — 1: Tìm hiểu sâu về Thư viện lit-html

Mục đích của chuỗi blog này là tìm hiểu sâu về thư viện Lit và hiểu toàn diện về các tính năng độc đáo của nó cũng như cách nó tạo nên sự khác biệt so với các thư viện và framework khác trên thị trường. Loạt bài này được chia thành ba phần, bao gồm các chủ đề như 1.

Related posts

Vụ sát hại Jordan Neely và vấn đề phân biệt chủng tộc “yêu nước”

Hoa Kỳ có thể thực hiện một bước thiết yếu là không đánh đồng hành vi phân biệt chủng tộc với việc trở thành một người Mỹ tốt không?

Vụ sát hại Jordan Neely và vấn đề phân biệt chủng tộc “yêu nước”

[Cảnh báo kích hoạt: Bài tiểu luận này bao gồm các bức ảnh chụp màn hình những người ca ngợi kẻ giết Jordan Neely.] Các quan chức thực thi pháp luật cuối cùng - và có lẽ miễn cưỡng - đã buộc tội Daniel Penny, kẻ đã bóp cổ Jordan Neely cho đến chết, vì tội giết người đó.

Cuộc cách mạng tại nơi làm việc: Các chuyên gia hàng đầu thảo luận về công việc kết hợp và từ xa

Cuộc cách mạng tại nơi làm việc: Các chuyên gia hàng đầu thảo luận về công việc kết hợp và từ xa

Trong bối cảnh kinh doanh phát triển nhanh chóng ngày nay, khái niệm làm việc kết hợp và làm việc từ xa đã đạt được động lực chưa từng có. Khi các công ty tiếp tục thích ứng với nhu cầu và kỳ vọng thay đổi của nhân viên, các chuyên gia từ nhiều lĩnh vực khác nhau đã cùng nhau thảo luận về lợi ích, thách thức và tương lai của cách làm việc mang tính biến đổi này.

Cuộc đàn áp các Kitô hữu: Tội ác thù hận mà chúng ta không nói đến

Quên bài Hồi giáo đi: Cơ đốc nhân (và người Do Thái) là nạn nhân chính của tội ác căm thù tôn giáo.

Cuộc đàn áp các Kitô hữu: Tội ác thù hận mà chúng ta không nói đến

Bất kỳ lý trí nào cũng biết rằng giới chính trị và truyền thông bị chi phối bởi cánh tả, thậm chí là cực tả, một tình trạng tạo ra sự mất cân bằng trong diễn ngôn chính trị. Trong lĩnh vực tôn giáo, sự mất cân bằng này có thể thấy rõ ràng: các tờ báo và mạng lưới cánh tả không vội vàng bảo vệ đức tin Cơ đốc.

Tạp chí Ouvert

Tạp chí Ouvert

Mở Nhật ký: Một bức tranh mỗi ngày. Tôi luôn bị mê hoặc bởi những câu chuyện.