当使用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);
它确实发送了请求,但对象参数。
答案 0 :(得分:1)
很幸运,我理解了您的问题:),使用参数Axios将自动将您的对象转换为查询参数。 使用这个:
axios.post(`https://api.kavenegar.com/v1/${API_KEY}/verify/lookup`,{}, {
params: {
receptor: phone,
token: code
}})
.then(resp => resp.data);
答案 1 :(得分:1)
在第一个示例中,您将数据作为查询参数发送,与在第二个示例中一样,它与在邮件正文中发送数据不同。
实际上,您可以将查询参数作为对象传递,您只需要稍微调用.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);
答案 2 :(得分:-1)
您需要使用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);