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 }));
我尝试 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 }));