簡體   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