繁体   English   中英

NodeJS-控制器方法未调用

[英]NodeJS - controller method not calling

我使用端口7777创建了一个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);

我正在从服务器调用路由器并执行应用程序作为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 / appointment

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

请用

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

在router.js中

您正在使用以下代码行处理对/appointment POST请求:

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

更改postget是否仅需要访问页面,例如:

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

另外,您没有索引页的处理程序,这就是为什么要获取/路径错误的原因。 您可以通过类似的方式添加处理程序:

router.get('/', indexHandler);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM