NodeJS – 控制器方法没有调用

我用端口7777创build了一个NodeJS应用程序。

server.js

 'use strict'; var express = require('express'), router = require('./router'); var app = express(); var port = 7777; app.use(router()); app.listen(port); console.log('Doctor appointment at ' + port); 

我正在从服务器调用路由器,并将executng应用程序作为node server.js

router.js

 'use strict'; var express = require('express'); var doctorAppointment = require('./controllers/doctorAppointment'); module.exports = function() { var options = { caseSensitive: true }; console.log("Router"); // Instantiate an isolated express Router instance var router = express.Router(options); router.post('/appointment', doctorAppointment.takeAppoiment); return router; } 

我正在从路由器调用控制器方法。 控制者如下:

doctorAppointment.js

 'use strict'; exports.takeAppoiment = function(req, res, next) { console.log("Inside appointment"); } 

执行后,控制器方法不调用

system@DT-LNX-315:~/Desktop/nodeJS/doctor-appointment$ node server.js
Router
Doctor appointment at 7777

并在http:// localhost:7777 /

来不及Cannot GET /在浏览器

并为http:// localhost:7777 /约会

显示为Cannot GET /appointment 。 如何执行控制器方法?

您正在处理POST请求到/appointment这行代码:

router.post('/appointment', doctorAppointment.takeAppointment);

如果您只需要访问该页面,请更改post ,如下所示:

router.get('/appointment', doctorAppointment.takeAppointment);

你也没有索引页面的处理程序,这就是为什么你得到/path的错误。 你可以用类似的方法添加处理程序:

router.get('/', indexHandler);

请用

 app.get('/appointment',function(req,res){ doctorAppointment.takeAppoiment(); }) 

在router.js中