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:
Apabila saya menghantar permintaan POST
请求时,我收到一个空对象{}
ke fail http, saya menerima objek kosong
Content-Type: application/json
tidak berfungsi di bawah laluan dalam fail http.
GET
berfungsi dengan baik.
Ini kod yang saya gunakan:
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.
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 itu2.) 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!