[I am using express for node].
I encountered a code where the form-data is being posted into index.js
but it has to be processed in another javascript file. I debugged the original code at nearly every step but at this point I am stuck.
Here are the relevant parts in the files.
index.js
var express = require('express');
var router = express.Router();
const proctor = require('../controllers/proctor');
router.post('/myform', function(req, res, next) {
console.log("hello");
proctor.function1;
});
module.exports = router;
proctor.js
(not written by me)
exports.function1 = (req, res) => {
console.log(req.body);
}
app.js
var indexRouter = require('./server/routes/index');
app.use('/', indexRouter);
module.exports = app;
So, console shows "hello", but not the req.body
so the second js file is not being called at all. The proctor.js
is not my code and I think I need to import index.js
maybe to get it working.
The file tree is
app.js
server
controllers
proctor.js
routes
index.js
As a token of closing the question, since the original answerer is not adding the answer.
const proctor = require('../controllers/proctor');
imports the object exported by the proctor.js
file. But in this case, we have to use
const proctor = require('../controllers/proctor.js');
to be able to call the functions present in proctor.js
I was not passing the arguments to the function call. So, I would have to do
router.post('/myform', function(req, res, next) {
console.log("hello");
proctor.function1(req,res,next);
});