繁体   English   中英

如何使用获取“POST”的响应?

[英]How to use the response of a fetch 'POST'?

我被这个问题困住了。 我正在使用 fetch Post 方法在我的服务器中发布我称之为“articulo”的 object。 现在我有这个帖子的代码:

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;
}

在我的服务器中,路由和响应是这样的(我在这里使用快速依赖):

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}`
        });
    }

我遇到的问题:当我运行它并使用 fetch Post 方法发布 object 时,我在服务器上做得很好,我可以阅读和修改它。 但是当我使用相同的 object 从服务器发送响应时,我无法在客户端上打开它。 我尝试了与客户端相同的方法,但通过 Imsomnia,服务器发送了我在其上发布的相同 object。 在客户端上,我得到相同的 object,具有相同的属性,但除数字外,值始终是“未定义”。 我已经在这个问题上停留了四天,无法继续解决这个问题。 提前致谢。

编辑:在这里我添加了在使用 console.log 获取之前和之后检查 object 的方式

之前: 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) 服务器端:object { codigoArticulo:87654321 }

错误是没有将标头放入内容类型,因此服务器永远不会知道我真正发送的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM