为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

料青山看我应如是 2022-01-13 16:04:05
当使用 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);它确实发送请求,但对象参数。
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

幸运的是我理解了你的问题:),使用参数 Axios 将自动翻译你的对象在查询参数中。用这个:


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

        params: {

            receptor: phone,

            token: code

        }})

        .then(resp => resp.data);


查看完整回答
反对 回复 2022-01-13
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

在第一个示例中,您将数据作为查询参数发送,这与在第二个示例中的帖子正文中发送数据不同。


您实际上可以将查询参数作为对象传递,您只需要.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);


查看完整回答
反对 回复 2022-01-13
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

你需要使用 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);


查看完整回答
反对 回复 2022-01-13
  • 3 回答
  • 0 关注
  • 305 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信