Node.js 使用Axios POST时未定义的结果
我正在尝试在axios中使用Post方法发送一些数据,但我的代码结果仅未定义。 这是我使用axios发布http请求的代码:Node.js 使用Axios POST时未定义的结果,node.js,api,post,axios,adonis.js,Node.js,Api,Post,Axios,Adonis.js,我正在尝试在axios中使用Post方法发送一些数据,但我的代码结果仅未定义。 这是我使用axios发布http请求的代码: const Axios = use('axios'); const Env = use('Env'); const querystring = require('querystring'); class getTrackingData({ response }) { const tracking = await Axios.post(Env.get('APP_
const Axios = use('axios');
const Env = use('Env');
const querystring = require('querystring');
class getTrackingData({ response }) {
const tracking = await Axios.post(Env.get('APP_ENDPOINT') + '/waybill',
{
data: querystring.stringify({
waybill : 'SOCAG00183235715', courier : 'jne'
})
},
{
headers: {
'key':Env.get('APP_KEY'),
'content-type': "application/x-www-form-urlencoded"
}
}).then(function(response) {
console.log(response.data);
//return response.data;
});
return tracking;
}
}
此代码有什么问题?请尝试使用此代码
'content-type': "application/application.json"
详情
更新
请将此添加到标题中
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
我不知道,但我认为这是因为发送的格式数据不可读,所以我尝试更改发送数据的格式,如下所示:
const waybill = 'SOCAG00183235715'
const courier = 'jne'
const tracking = await Axios.post(Env.get('APP_ENDPOINT') + '/waybill',
//{
//data: querystring.stringify({
// waybill : 'SOCAG00183235715', courier : 'jne'
//})
//},
//change code above to bellow:
'waybill='+waybill+'&courier='+courier,
{
headers: {
'key':Env.get('APP_KEY'),
'content-type': "application/x-www-form-urlencoded"
}
}).then(function(response) {
console.log(response.data);
//return response.data;
});
return tracking;
这是我的工作
console.log的输出(响应)代码>请在代码中不需要wait,您已经用then catch块处理了,可以删除wait关键字并重试吗?@Emanuele此输出是“不允许的关键字符”。这是什么意思?@SuleymanSah我已经删除了Axios.post前面的wait,但结果仍然是一样的:''不允许使用关键字符“结果是错误的请求是的,这意味着您的请求完全到达了服务器。现在只需要检查服务器端需要哪些参数。例如,在标题和正文中需要一些数据。为此,您可以向API开发人员发送body和header参数,并检查req中的错误。在这之后,您的API将正常工作。@isnainibarochatun请再试一种方法。我已经更新了我的答案。嘿,你能试一下一件事吗?只需传递简单的对象。不需要对对象进行字符串化。如果你不明白,请告诉我。我在回答中也分享了这个例子。你检查过并试过吗?因为我也用这种方式调用API,它对我来说很好。:)我正在尝试添加;charset=UTF-8
在标题内容类型中,但将使用此格式发送的参数数据仍然相同:'waybill='+waybill+'&courier='+courier,
它可以工作。但如果此格式数据使用json对象发送,则返回的请求是错误的