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中