如何使用 fetch 'POST' 的响应?
How to use the response of a fetch 'POST'?
我被这个问题困住了。我正在使用获取 Post 方法来 post 在我的服务器中一个我称为 "articulo" 的对象。
现在我有了 post:
的代码
async function postArticulo(articulo) {
debugger
const response = await fetch('http://192.168.100.3:3000/articulo', {
method: 'POST',
body: JSON.stringify(articulo)
})
const nuevoArticulo = await response.json();
console.log(nuevoArticulo);
return nuevoArticulo;
}
在我的服务器中,路由和响应是这样的(我在这里使用 express dependencie):
async postArticulo(req, res){
const articulo = req.body;
if(articulo) console.log(articulo.nombre + ' Good');
articulo.codigo = 87654321; //This is just for checking if i could change some value of the object
console.log(articulo.codigo);
return res.json({
nombre: `${articulo.nombre}`,
proveedor: `${articulo.proveedor}`,
rubro: `${articulo.rubro}`,
stock: `${articulo.stock}`,
costo: `${articulo.costo}`,
coeficiente: `${articulo.coeficiente}`,
codigo: `${articulo.codigo}`
});
}
我遇到的问题:
当我 运行 this 和 post 使用 fetch Post 方法的对象时,我在服务器上很擅长,我可以读取和修改它。但是当我用相同的对象从服务器发送响应时,我无法在客户端打开它。我尝试了与客户端相同的操作,但通过 Imsomnia,服务器发送了相同的对象,我 post 就可以了。在客户端上,我得到相同的对象,具有相同的属性,但除数字外,值始终为 "undefined"。
我已经在这个问题上停留了四天了,无法继续解决这个问题。提前致谢。
编辑:我在此处添加了使用 console.log
在获取之前和之后检查对象的方式
之前:
codigo: 12345678
coeficiente: "1.4"
costo: "425"
nombre: "Perro"
proveedor: "Whiskas"
rubro: "Alimento"
stock: "3"
之后:
codigo: "87654321"
coeficiente: "undefined"
costo: "undefined"
nombre: "undefined"
proveedor: "undefined"
rubro: "undefined"
stock: "undefined"
console.log(typeof req.body, req.body) 服务器端:
对象 { codigoArticulo: 87654321 }
错误是没有将 headers 放入 content-type,所以服务器永远不会知道我真正发送的是什么。
我被这个问题困住了。我正在使用获取 Post 方法来 post 在我的服务器中一个我称为 "articulo" 的对象。 现在我有了 post:
的代码async function postArticulo(articulo) {
debugger
const response = await fetch('http://192.168.100.3:3000/articulo', {
method: 'POST',
body: JSON.stringify(articulo)
})
const nuevoArticulo = await response.json();
console.log(nuevoArticulo);
return nuevoArticulo;
}
在我的服务器中,路由和响应是这样的(我在这里使用 express dependencie):
async postArticulo(req, res){
const articulo = req.body;
if(articulo) console.log(articulo.nombre + ' Good');
articulo.codigo = 87654321; //This is just for checking if i could change some value of the object
console.log(articulo.codigo);
return res.json({
nombre: `${articulo.nombre}`,
proveedor: `${articulo.proveedor}`,
rubro: `${articulo.rubro}`,
stock: `${articulo.stock}`,
costo: `${articulo.costo}`,
coeficiente: `${articulo.coeficiente}`,
codigo: `${articulo.codigo}`
});
}
我遇到的问题: 当我 运行 this 和 post 使用 fetch Post 方法的对象时,我在服务器上很擅长,我可以读取和修改它。但是当我用相同的对象从服务器发送响应时,我无法在客户端打开它。我尝试了与客户端相同的操作,但通过 Imsomnia,服务器发送了相同的对象,我 post 就可以了。在客户端上,我得到相同的对象,具有相同的属性,但除数字外,值始终为 "undefined"。 我已经在这个问题上停留了四天了,无法继续解决这个问题。提前致谢。
编辑:我在此处添加了使用 console.log
在获取之前和之后检查对象的方式之前:
codigo: 12345678
coeficiente: "1.4"
costo: "425"
nombre: "Perro"
proveedor: "Whiskas"
rubro: "Alimento"
stock: "3"
之后:
codigo: "87654321"
coeficiente: "undefined"
costo: "undefined"
nombre: "undefined"
proveedor: "undefined"
rubro: "undefined"
stock: "undefined"
console.log(typeof req.body, req.body) 服务器端: 对象 { codigoArticulo: 87654321 }
错误是没有将 headers 放入 content-type,所以服务器永远不会知道我真正发送的是什么。