Javascript 如何使用Axios向POST请求添加数据?

Javascript 如何使用Axios向POST请求添加数据?,javascript,reactjs,post,axios,Javascript,Reactjs,Post,Axios,我试图发出POST请求,但在我的chrome网络选项卡中收到以下消息: {错误:“不支持的授权类型”,…}错误:“不支持的授权类型” 错误\u说明:“授权\u类型必须是客户端\u凭据, 授权\u代码或刷新\u令牌“ 我一直在使用Axios进行RESTful调用,以下是POST请求: async componentDidMount() { const encodedString = 'blah'//some encoded string const [initSpotRespons

我试图发出POST请求,但在我的chrome网络选项卡中收到以下消息:

{错误:“不支持的授权类型”,…}错误:“不支持的授权类型” 错误\u说明:“授权\u类型必须是客户端\u凭据, 授权\u代码或刷新\u令牌“

我一直在使用Axios进行RESTful调用,以下是POST请求:

async componentDidMount() {
    const encodedString = 'blah'//some encoded string
    const [initSpotResponse] = await Promise.all([
        axios.post('https://accounts.spotify.com/api/token',
            { data: { grant_type: 'client_credentials' } },
            {
                headers: {
                    'Authorization': `Basic ${encodedString}`,
                    'Content-type': 'application/x-www-form-urlencoded;charset=UTF-8'
                }
            }
        )
    ]);
}

我尝试过其他StackOverflow帖子中提到的各种方法,但似乎都不管用。有没有人有过创建此类POST请求的经验?我还没有看到关于这个问题的axios特定帖子-我应该放弃axios吗(如果是的话,我应该切换到什么)?

axios.post
接受数据对象(
axios.post(url[,data[,config]])
)作为第二个参数,用
qs
序列化数据并尝试此操作,如前所述:

const qs=require('querystring');
异步组件didmount(){
const encodedString='blah'//一些编码字符串
const[initSpotResponse]=等待承诺([
轴心柱https://accounts.spotify.com/api/token',
stringify({grant_type:'client_credentials'}),
{
标题:{
“授权”:“基本${encodedString}”,
“内容类型”:“application/x-www-form-urlencoded;charset=UTF-8”
}
}
)
]);

}
您可以尝试获取,但您的身份验证似乎有问题。客户端凭据应该是字符串还是传递变量?@cullanrocks客户端凭据应该是字符串,是的,我以前没有见过应用程序/x-www-form-urlencoded。刚刚更新了答案这里不需要
const qs=require('querystring')