Rumah  >  Soal Jawab  >  teks badan

Isu dengan menghantar tatasusunan dengan cekap melalui kaedah POST dalam Express

Saya baru di sini dan belajar Express, dan walaupun saya rasa saya berada di landasan yang betul, saya sedang menghadapi beberapa masalah dengan POST pendekatan saya. Situasi yang saya hadapi sekarang adalah seperti berikut:

const express = require('express');
const { stories } = require('../data/books.js').infoBooks;

const routerStories = express.Router();
routerStories.use(express.json());

routerStories.post('/', (req, res) => {
    const newBook = req.body;
    stories.push(newBook);
    res.send(JSON.stringify(stories));  
});

Saya telah cuba memikirkannya selama beberapa hari. Walaupun saya telah melakukan banyak kajian, saya tidak dapat memikirkannya. Sila berikan perspektif dan pengalaman anda untuk dapat menyelesaikan masalah ini.

P粉207969787P粉207969787420 hari yang lalu545

membalas semua(1)saya akan balas

  • P粉543344381

    P粉5433443812023-09-17 00:59:05

    Saya menemui beberapa isu dalam kod anda. Saya mengandaikan anda menampal kod asal, jadi inilah perkara yang anda perlu ubah.

    1.) Saya tidak fikir baris ini adalah kod javascript yang sah, atau jika ya, ia agak pelik. const { stories } = require('../data/books.js').infoBooks; 如果infoBooks ialah objek yang mengandungi cerita, hanya import objek itu

    2.) Anda tidak perlu menetapkan laluan kepada json kerana laluan mempunyai kaedah ini secara lalai dan akan menerima json sebagai respons yang sah

    3.) Mungkin anda tidak menggunakan nama laluan yang berbeza dan laluan lain menggunakan literal rentetan yang sama.

    Anda tidak memberikan maklumat yang mencukupi, jadi mungkin terdapat isu lain dengan penggunaan penghalaan anda sendiri, tetapi berdasarkan apa yang anda siarkan, ini semua isu yang saya temui. harap ini membantu!

    import {infoBooks} from "../data/books.js"
    import express from "express";
    const router = express.Router();
    
    routerStories.post('/createNewBook', (req, res) =\> {
        const newBook = req.body;
        if(!newBook){
           res.status(400).json({message: "invalid arguments"})
           return
        }
        infoBooks.stories.push(newBook);
        //we don't need to set status here because by default the response will be 200
        res.json({infoBooks.stories});
        return 
    })

    balas
    0
  • Batalbalas