如何将axios post参数设置为对象?

当使用 API 以模板文字方式发送 SMS 时工作顺利:


axios.post(

     `https://api.fooserver.com/${API_KEY}/verify/lookup?receptor=${phone}&token=${code}`

    )

     .then(resp => resp.data)

对象参数有什么问题?


axios.post(`https://api.kavenegar.com/v1/${API_KEY}/verify/lookup`, {

            receptor: phone,

            token: code

        })

        .then(resp => resp.data);


它确实发送请求,但对象参数。


料青山看我应如是
浏览 306回答 3
3回答

眼眸繁星

幸运的是我理解了你的问题:),使用参数 Axios 将自动翻译你的对象在查询参数中。用这个:axios.post(`https://api.kavenegar.com/v1/${API_KEY}/verify/lookup`,{}, {        params: {            receptor: phone,            token: code        }})        .then(resp => resp.data);

慕码人2483693

在第一个示例中,您将数据作为查询参数发送,这与在第二个示例中的帖子正文中发送数据不同。您实际上可以将查询参数作为对象传递,您只需要.post稍微不同地调用:axios    .post(        `https://api.fooserver.com/${API_KEY}/verify/lookup`,        {},        {            params: {                receptor: phone,                token: code            }        }        )    .then(resp => resp.data);或者,如果您愿意:axios({    method: 'POST',    url: `https://api.fooserver.com/${API_KEY}/verify/lookup`,    params: {        receptor: phone,        token: code    }}).then(resp => resp.data);

30秒到达战场

你需要使用 querystring.stringify像这样 : const querystring = require('querystring');    axios.post(`https://api.kavenegar.com/v1/${API_KEY}/verify/lookup`, querystring.stringify({                receptor: phone,                token: code            })            .then(resp => resp.data);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript