[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
Advertisement
Answer
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 theproctor.js
file. But in this case, we have to useconst 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); });