如何发送应用程序/x-www-form-urlencoded的axios帖子



如何发送带有应用程序/x-www-form-urlencoded的axios帖子?

我需要发送一个刷新令牌,但当被请求时,会发送一个空对象,尽管如果你在"userData.data.refresh_token"中查看,那么令牌肯定在中

const params = new URLSearchParams();
const test = params.append("refresh_token", userData.data.refresh_token);
console.log(test) // undefined
console.log(userData) // token not empty
axios.post(`${API_URL}/api/login_check`, test, (res) => {
login(res);
});
const axios = require('axios')

试试这个代码:

/*…*/

const params = new URLSearchParams()
params.append('name', 'Akexorcist')
params.append('age', '28')
params.append('position', 'Android Developer')
params.append('description', 'birthdate=25-12-1989&favourite=coding%20coding%20and%20coding&company=Nextzy%20Technologies&website=http://www.akexorcist.com/')
params.append('awesome', true)
const config = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
axios.post(url, params, config)
.then((result) => {
// Do somthing
})
.catch((err) => {
// Do somthing
})

官方链接:https://github.com/axios/axios#using-applicationx www表单URL编码格式

下面是上面的链接。


在浏览器中,您可以使用URLSearchParams API,如下所示:

const params = new URLSearchParams();
params.append('param1', 'value1');
params.append('param2', 'value2');
axios.post('/foo', params);

请注意,URLSearchParams并不是所有浏览器都支持(请参阅caniuse.com(,但有一个polyfill可用(请确保polyfill全局环境(。

或者,您可以使用qs库对数据进行编码:

const qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 }));

最新更新