Cách gửi dữ liệu được mã hóa urlencom bằng Axios

Tìm hiểu cách gửi dữ liệu được mã hóa urle bằng Axios

Tôi gặp sự cố này: một API mà tôi phải gọi từ ứng dụng Node.js chỉ chấp nhận dữ liệu bằng định dạng urlencoded.

Tôi đã phải tìm ra vấn đề này: làm thế nào để gửi dữ liệu urlencoded bằng Axios?

Điều đầu tiên chúng ta cần làm là cài đặtqsmô-đun. Đó là một thư viện phân tích chuỗi và phân tích chuỗi truy vấn thú vị với một số bảo mật được bổ sung:

npm install qs

Sau đó, chúng tôi cần nhậpqstất nhiên là cùng với nhập Axios:

const qs = require('qs')
const axios = require('axios')

Nếu bạn sử dụng Mô-đun ES, hãy sử dụng

import qs from 'qs'
import axios from 'axios'

Tiếp theo, mã Axios. Kiểm tra đầy đủ của tôiHướng dẫn Axiosnếu bạn không quen thuộc với nó.

Tóm lại, chúng ta cần sử dụng biểu mẫu đầy đủ cho yêu cầu Axios. không phảiaxios.post()nhưngaxios().

Bên trong đó, chúng tôi sử dụngstringify()phương pháp được cung cấp bởiqsvà chúng tôi bọc dữ liệu vào đó. Sau đó, chúng tôi thiết lậpcontent-typetiêu đề:

axios({
  method: 'post',
  url: 'https://my-api.com',
  data: qs.stringify({
    item1: 'value1',
    item2: 'value2'
  }),
  headers: {
    'content-type': 'application/x-www-form-urlencoded;charset=utf-8'
  }
})

Tải xuống miễn phí của tôiSổ tay dành cho Người mới bắt đầu JavaScript


Các hướng dẫn js khác: