Axios là một thư viện JavaScript rất tiện lợi để thực hiện các yêu cầu HTTP trong Node.js
- Giới thiệu
- Một video hướng dẫn
- Cài đặt
- API Axios
- NHẬN yêu cầu
- Thêm thông số vào yêu cầu GET
- ĐĂNG yêu cầu
Giới thiệu
Axios là một thư viện JavaScript rất phổ biến mà bạn có thể sử dụng để thực hiện các yêu cầu HTTP, hoạt động trong cả Trình duyệt vàNode.jsnền tảng.
Nó hỗ trợ tất cả các trình duyệt hiện đại, bao gồm hỗ trợ cho IE8 trở lên.
Nó dựa trên lời hứa và điều này cho phép chúng tôi viết mã không đồng bộ / chờ đợi để thực hiệnXHRyêu cầu rất dễ dàng.
Sử dụng Axios có khá nhiều lợi thế so với bản gốcAPI tìm nạp:
- hỗ trợ các trình duyệt cũ hơn (Tìm nạp cần một polyfill)
- có một cách để hủy bỏ một yêu cầu
- có một cách để đặt thời gian chờ phản hồi
- có bảo vệ CSRF tích hợp
- hỗ trợ tiến trình tải lên
- thực hiện chuyển đổi dữ liệu JSON tự động
- hoạt động trong Node.js
Một video hướng dẫn
Xem video này, nơi tôi tạo máy chủ Express cung cấp điểm cuối POST và tôi thực hiện yêu cầu Axios đối với nó, để đăng dữ liệu:
Cài đặt
Axios có thể được cài đặt bằng cách sử dụngnpm:
npm install axios
hoặc làsợi:
yarn add axios
hoặc đưa nó vào trang của bạn bằng cách sử dụng unkg.com:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
API Axios
Bạn có thể bắt đầu một yêu cầu HTTP từaxios
vật:
tôi sử dụng
foo
vàbar
nhưtên ngẫu nhiên. Nhập bất kỳ loại tên nào để thay thế chúng.
axios({
url: 'https://dog.ceo/api/breeds/list/all',
method: 'get',
data: {
foo: 'bar'
}
})
nhưng để thuận tiện, bạn thường sẽ sử dụng
axios.get()
axios.post()
(như trong jQuery bạn sẽ sử dụng$.get()
và$.post()
thay vì$.ajax()
)
Axios cung cấp các phương thức cho tất cả các động từ HTTP, ít phổ biến hơn nhưng vẫn được sử dụng:
axios.delete()
axios.put()
axios.patch()
axios.options()
và một phương thức để lấy tiêu đề HTTP của một yêu cầu, loại bỏ phần thân:
axios.head()
NHẬN yêu cầu
Một cách thuận tiện để sử dụng Axios là sử dụng cú pháp async / await hiện đại (ES2017).
Ví dụ Node.js này truy vấnAPI chóđể truy xuất danh sách tất cả các giống chó, sử dụngaxios.get()
và nó tính chúng:
const axios = require('axios')
const getBreeds = async () => {
try {
return await axios.get(‘https://dog.ceo/api/breeds/list/all’)
} catch (error) {
console.error(error)
}
}
const countBreeds = async () => {
const breeds = await getBreeds()
if (breeds.data.message) {
console.log(Got </span><span style="color:#e6db74">${</span>Object.<span style="color:#a6e22e">entries</span>(<span style="color:#a6e22e">breeds</span>.<span style="color:#a6e22e">data</span>.<span style="color:#a6e22e">message</span>).<span style="color:#a6e22e">length</span><span style="color:#e6db74">}</span><span style="color:#e6db74"> breeds
)
}
}
countBreeds()
Nếu bạn không muốn sử dụng async / await, bạn có thể sử dụngLời hứacú pháp:
const axios = require('axios')
const getBreeds = () => {
try {
return axios.get(‘https://dog.ceo/api/breeds/list/all’)
} catch (error) {
console.error(error)
}
}
const countBreeds = async () => {
const breeds = getBreeds()
.then(response => {
if (response.data.message) {
console.log(
Got </span><span style="color:#e6db74">${</span>Object.<span style="color:#a6e22e">entries</span>(<span style="color:#a6e22e">response</span>.<span style="color:#a6e22e">data</span>.<span style="color:#a6e22e">message</span>).<span style="color:#a6e22e">length</span><span style="color:#e6db74">}</span><span style="color:#e6db74"> breeds
)
}
})
.catch(error => {
console.log(error)
})
}
countBreeds()
Thêm thông số vào yêu cầu GET
Phản hồi GET có thể chứa các tham số trong URL, như sau:https://site.com/?foo=bar
.
Với Axios, bạn có thể thực hiện việc này bằng cách sử dụng URL đó:
axios.get('https://site.com/?foo=bar')
hoặc bạn có thể sử dụng mộtparams
tài sản trong các tùy chọn:
axios.get('https://site.com/', {
params: {
foo: 'bar'
}
})
ĐĂNG yêu cầu
Thực hiện yêu cầu ĐĂNG giống như thực hiện yêu cầu GET, nhưng thay vìaxios.get
, bạn dùngaxios.post
:
axios.post('https://site.com/')
Một đối tượng chứa các tham số POST là đối số thứ hai:
axios.post('https://site.com/', {
foo: 'bar'
})
Tải xuống miễn phí của tôiSổ tay Node.js
Các hướng dẫn nút khác:
- Giới thiệu về trình quản lý gói npm
- Giới thiệu về Node.js
- Yêu cầu HTTP bằng Axios
- Nơi lưu trữ ứng dụng Node.js
- Tương tác với API Google Analytics bằng Node.js
- Trình chạy gói nút npx
- Hướng dẫn package.json
- Npm cài đặt các gói ở đâu?
- Cách cập nhật Node.js
- Cách sử dụng hoặc thực thi một gói được cài đặt bằng npm
- Tệp package-lock.json
- Phiên bản ngữ nghĩa sử dụng npm
- Bạn có nên cam kết thư mục node_modules cho Git không?
- Cập nhật tất cả các phụ thuộc Node lên phiên bản mới nhất của chúng
- Phân tích cú pháp JSON với Node.js
- Tìm phiên bản đã cài đặt của gói npm
- Luồng Node.js
- Cài đặt phiên bản cũ hơn của gói npm
- Lấy thư mục hiện tại trong Node
- Cách đăng nhập một đối tượng trong Node
- Thể hiện chức năng từ tệp Node bằng cách sử dụng xuất
- Sự khác biệt giữa Node và Browser
- Thực hiện yêu cầu HTTP POST bằng Node
- Nhận dữ liệu nội dung yêu cầu HTTP bằng Node
- Bộ đệm nút
- Sơ lược về lịch sử Node.js
- Cách cài đặt Node.js
- Bạn cần biết bao nhiêu JavaScript để sử dụng Node?
- Cách sử dụng Node.js REPL
- Nút, chấp nhận các đối số từ dòng lệnh
- Xuất ra dòng lệnh bằng Node
- Chấp nhận đầu vào từ dòng lệnh trong Node
- Gỡ cài đặt gói npm với `` npm gỡ cài đặt ''
- gói npm toàn cầu hoặc cục bộ
- npm phụ thuộc và devDependencies
- Vòng lặp sự kiện Node.js
- Hiểu process.nextTick ()
- Hiểu setIm Instant ()
- Bộ phát sự kiện nút
- Xây dựng một máy chủ HTTP
- Thực hiện các yêu cầu HTTP với Node
- Mô-đun Node fs
- Yêu cầu HTTP trong Node bằng Axios
- Đọc tệp bằng Node
- Đường dẫn tệp nút
- Viết tệp bằng Node
- Số liệu thống kê về tệp nút
- Làm việc với bộ mô tả tệp trong Node
- Làm việc với các thư mục trong Node
- Mô-đun đường dẫn nút
- Mô-đun Node http
- Sử dụng WebSockets với Node.js
- Những điều cơ bản về cách làm việc với MySQL và Node
- Xử lý lỗi trong Node.js
- Hướng dẫn Pug
- Cách đọc các biến môi trường từ Node.js
- Cách thoát khỏi chương trình Node.js
- Mô-đun hệ điều hành Node
- Mô-đun sự kiện Node
- Nút, sự khác biệt giữa phát triển và sản xuất
- Cách kiểm tra xem tệp có tồn tại trong Node.js hay không
- Cách tạo tệp trống trong Node.js
- Cách xóa tệp bằng Node.js
- Cách lấy ngày cập nhật cuối cùng của tệp bằng Node.js
- Cách xác định một ngày có phải là hôm nay trong JavaScript hay không
- Cách ghi một đối tượng JSON vào tệp trong Node.js
- Tại sao bạn nên sử dụng Node.js trong dự án tiếp theo của mình?
- Chạy một máy chủ web từ bất kỳ thư mục nào
- Cách sử dụng MongoDB với Node.js
- Sử dụng Công cụ dành cho nhà phát triển của Chrome để gỡ lỗi ứng dụng Node.js
- Pnpm là gì?
- Danh sách tùy chọn Node.js Runtime v8
- Cách khắc phục lỗi "Thiếu quyền ghi" khi sử dụng npm
- Cách bật Mô-đun ES trong Node.js
- Cách sinh ra một quy trình con với Node.js
- Cách lấy cả nội dung được phân tích cú pháp và nội dung thô trong Express
- Cách xử lý tải lên tệp trong Node.js
- Sự phụ thuộc ngang hàng trong một mô-đun Node là gì?
- Cách ghi tệp CSV với Node.js
- Cách đọc tệp CSV với Node.js
- Mô-đun lõi Node
- Tăng số lượng nhiều thư mục cùng một lúc bằng Node.js
- Cách in canvas thành URL dữ liệu
- Cách tạo và lưu hình ảnh với Node.js và Canvas
- Cách tải xuống hình ảnh bằng Node.js
- Cách đổi tên hàng loạt tệp trong Node.js
- Cách lấy tên của tất cả các tệp trong một thư mục trong Node
- Cách sử dụng các lời hứa và chờ đợi với các hàm dựa trên cuộc gọi lại của Node.js
- Cách kiểm tra một gói npm cục bộ
- Cách kiểm tra phiên bản Node.js hiện tại khi chạy
- Cách sử dụng Sequelize để tương tác với PostgreSQL
- Cung cấp trang HTML bằng Node.js
- Cách giải quyết lỗi `use.pump không phải là hàm` trong Node.js