/

如何使用Axios發送url編碼數據

如何使用Axios發送url編碼數據

學習如何使用Axios發送url編碼的數據

我遇到了這個問題:我需要從一個Node.js應用程序中調用的API只接受url編碼格式的數據。

我必須找出解決這個問題的方法:如何使用Axios發送url編碼的數據?

首先,我們需要安裝qs模塊。這是一個很棒的查詢字符串解析和字符串化庫,還帶有一些額外的安全功能:

1
npm install qs

然後,我們需要導入qs模塊以及當然還有Axios的導入語句:

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

如果你使用的是ES模塊,請使用:

1
2
import qs from 'qs'
import axios from 'axios'

接下來,是Axios代碼。如果你對它不熟悉,請參閱我的完整的Axios教程

簡而言之,我們需要使用Axios請求的完整形式,而不是axios.post(),而是axios()

在其中,我們使用了qs提供的stringify()方法,並將數據包裹在其中。然後,我們設置了content-type標頭:

1
2
3
4
5
6
7
8
9
10
11
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'
}
})

tags: [“Node.js”, “Axios”, “qs”, “URL編碼”, “數據發送”]