Node.js 使用Axios POST时未定义的结果

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_

我正在尝试在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_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对象发送,则返回的请求是错误的