Axios post 向对象添加额外的键

Axios post adds extra key to object

我尝试 post 使用 axios 的对象。我需要它的格式如下:

var dataObj = {username:"username",password:"password",data1:"data1"};

当我 POST 使用 axios 并在后端捕获时,它会像这样向对象添加一个额外的键:

{dataObj:{username:"username",password:"password",data1:"data1"}};

如何在将它发送到后端之前去掉这个额外的字段,使其看起来像这样?

{username:"username",password:"password",data1:"data1"}

我知道我可以在后端解析它,但我无法修改后端,因为它不是我的。

这是我的 axios post 的样子:

axios.post('http://192.168.1.1xx:3000/data', {
    dataObj
})
.then(function (response) {
    console.log(response);
})
.catch(function (error) {
    console.log(error);
});

谢谢:)

axios.post('http://192.168.1.1xx:3000/data', 
    dataObj
)

而不是:

axios.post('http://192.168.1.1xx:3000/data', {
    dataObj
})

去掉括号 ↪ 我的意思是 ,dataObj) 而不是 , {dataObj}) ... 因为 "dataObj" 已经是一个文字对象。

原始问题的解决方案是使用 axios github 存储库中记录的 url 编码格式: https://github.com/axios/axios#using-applicationx-www-form-urlencoded-format

我已经使用“qs”进行了测试并按要求工作。

const qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 }));