Javascript Express JS不';找不到参数404
我试图通过将文件作为json字符串传递给ExpressJS帖子来编写文件:Javascript Express JS不';找不到参数404,javascript,express,post,Javascript,Express,Post,我试图通过将文件作为json字符串传递给ExpressJS帖子来编写文件: app.post('/filewrite/', (req, res) => { const fs = require('fs'); console.log(req.body); fs.writeFile("./db/test.json", req.body, function(err) { if(err) { return console.log(err);
app.post('/filewrite/', (req, res) => {
const fs = require('fs');
console.log(req.body);
fs.writeFile("./db/test.json", req.body, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
});
但当我试图通过时,结果是404:
POST http://localhost:5000/filewrite/%7B%22db%22:[%7B%22ID%22:%2211111111%22,%22job%22:%2222222222]%7D 404 (Not Found)
我需要如何定义POST路由以接受参数?如果希望数据显示在
req.body
中,则需要将其传递到请求正文中,而不是URL中
由于您试图在URL中传递它,因此路由不匹配
我不知道POST
所代表的软件是什么,但要使用cURL实现这一点,您需要:
curl --header "Content-Type: application/json" \
--request POST \
--data '{"db":[{"ID":11111111,"job":22222222]}' \
http://localhost:5000/filewrite/
您不应该在params中传递数据,但是如果您愿意,下面是您可以使用的方法
app.post('/filewrite/:data', (req, res) => {
const fs = require('fs');
console.log(req.body);
fs.writeFile("./db/test.json", req.params.data, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
});
此外,您不能通过服务器将数据写入本地文件,您必须设置文件夹或文件的静态路径