Anonymous
Данные из формы не печатаются в консоли, которая собирается экспресс-методом post.
Сообщение
Anonymous » 19 ноя 2025, 08:54
На странице администратора находится форма для добавления продуктов, но данные (данные включают файл изображения) в форме не печатаются в консоли, вместо этого отображается:
"{}
POST /admin/add-product - - ms - -"
Вот код app.js (экспресс-генератор)
Код: Выделить всё
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var hbs = require('express-handlebars')
var usersRouter = require('./routes/users');
var adminRouter = require('./routes/admin');
var fileUpload = require('express-fileupload')
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.engine('hbs', hbs.engine({ extname: 'hbs', defaultLayout: 'layout', layoutsDir: __dirname + '/views/layout/', partialsDir: __dirname + '/views/partials/' }))
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', usersRouter);
app.use('/admin', adminRouter);
app.use(fileUpload())
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404));
});
// error handler
app.use(function (err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
вот коды в админке
Код: Выделить всё
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
let products=[{
name:"Iphone 15"
,category:"Mobile"
,discription:"flaghship phone by apple"
,image:"https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcR199XXubeTzwSceNjVSDZLSmAS9XKBkftsUbcSGADAGYXqqDRs17BYcd3jocTU_xeenejYWbzJbs394WBFqKBZOwJJcI3il9Pmcz8d3bA&usqp=CAE"
},{
name:"Samsung Galaxy S23 ultra"
,category:"Mobile"
,discription:"flaghship phone by Samsung"
,image:"https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcQ3uCOtqrOC3OSc1mveQKwrFN4bBVPsOk5FhSznuH-9bZMOU4qHs_-FYJscJ8nFGLDDZ3a_Cla-HCiHjkik3CaBRgsarJ-ZDKErAyLMLe2VRNBIeU1sti7Q&usqp=CAE"
},{
name:"Nothing phone 2"
,category:"Mobile"
,discription:"flaghship phone by NOthing"
,image:"https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcQvcN7cV_G4iXn6uy8_RoByjPj35Vh1MA0nDKFdg6YNep0EzLTbTsV40YqO1tKxxjFQl8DFOfDW1-vOFTEikA_ZdlrWh9WDwHeFIln0xDuuy2BQRp2wcl4ZTw&usqp=CAE"
},{
name:"MI 13 ultra"
,category:"Mobile"
,discription:"flaghship phone by apple"
,image:"https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcTv3moXySHfJ_y7ZuoC7S2gxrA2wWtvOe9Zw-YQiwX59uIBkR4IlZuptO9ThOnFiUGLSwpQjcOI8m0LCY19RMWJBcEn66jj_TioDlxIKCJgIekD60awjBYLIg&usqp=CAE"
}]
res.render('admin/view-products',{admin:true,products})
});
router.get('/add-product',function(req,res){
res.render('admin/add-product',)
})
router.post('/add-product',(req,res)=>{
console.log(req.body);
})
module.exports = router;
вот форма html-кодов
Код: Выделить всё
Add Product
Name
Category
Price
Discription
Image
submit
Я хочу, чтобы данные отображались в консоли с помощью файла img
Подробнее здесь:
https://stackoverflow.com/questions/771 ... ost-method
1763531687
Anonymous
На странице администратора находится форма для добавления продуктов, но данные (данные включают файл изображения) в форме не печатаются в консоли, вместо этого отображается: "{} POST /admin/add-product - - ms - -" Вот код app.js (экспресс-генератор) [code]var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan'); var hbs = require('express-handlebars') var usersRouter = require('./routes/users'); var adminRouter = require('./routes/admin'); var fileUpload = require('express-fileupload') var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'hbs'); app.engine('hbs', hbs.engine({ extname: 'hbs', defaultLayout: 'layout', layoutsDir: __dirname + '/views/layout/', partialsDir: __dirname + '/views/partials/' })) app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', usersRouter); app.use('/admin', adminRouter); app.use(fileUpload()) // catch 404 and forward to error handler app.use(function (req, res, next) { next(createError(404)); }); // error handler app.use(function (err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error'); }); module.exports = app; [/code] вот коды в админке [code]var express = require('express'); var router = express.Router(); /* GET users listing. */ router.get('/', function(req, res, next) { let products=[{ name:"Iphone 15" ,category:"Mobile" ,discription:"flaghship phone by apple" ,image:"https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcR199XXubeTzwSceNjVSDZLSmAS9XKBkftsUbcSGADAGYXqqDRs17BYcd3jocTU_xeenejYWbzJbs394WBFqKBZOwJJcI3il9Pmcz8d3bA&usqp=CAE" },{ name:"Samsung Galaxy S23 ultra" ,category:"Mobile" ,discription:"flaghship phone by Samsung" ,image:"https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcQ3uCOtqrOC3OSc1mveQKwrFN4bBVPsOk5FhSznuH-9bZMOU4qHs_-FYJscJ8nFGLDDZ3a_Cla-HCiHjkik3CaBRgsarJ-ZDKErAyLMLe2VRNBIeU1sti7Q&usqp=CAE" },{ name:"Nothing phone 2" ,category:"Mobile" ,discription:"flaghship phone by NOthing" ,image:"https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcQvcN7cV_G4iXn6uy8_RoByjPj35Vh1MA0nDKFdg6YNep0EzLTbTsV40YqO1tKxxjFQl8DFOfDW1-vOFTEikA_ZdlrWh9WDwHeFIln0xDuuy2BQRp2wcl4ZTw&usqp=CAE" },{ name:"MI 13 ultra" ,category:"Mobile" ,discription:"flaghship phone by apple" ,image:"https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcTv3moXySHfJ_y7ZuoC7S2gxrA2wWtvOe9Zw-YQiwX59uIBkR4IlZuptO9ThOnFiUGLSwpQjcOI8m0LCY19RMWJBcEn66jj_TioDlxIKCJgIekD60awjBYLIg&usqp=CAE" }] res.render('admin/view-products',{admin:true,products}) }); router.get('/add-product',function(req,res){ res.render('admin/add-product',) }) router.post('/add-product',(req,res)=>{ console.log(req.body); }) module.exports = router; [/code] вот форма html-кодов [code] Add Product Name Category Price Discription Image submit [/code] Я хочу, чтобы данные отображались в консоли с помощью файла img Подробнее здесь: [url]https://stackoverflow.com/questions/77179680/the-data-from-form-is-not-printing-in-console-which-is-collected-by-post-method[/url]