NodeJS - 不调用

时间:2015-06-03 05:51:27

标签: javascript node.js

我使用端口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。如何执行控制器方法?

2 个答案:

答案 0 :(得分:2)

请使用

app.get('/appointment',function(req,res){
   doctorAppointment.takeAppoiment();
})
<\ n>在router.js

答案 1 :(得分:0)

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

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

如果您只是需要访问该页面,请将post更改为get

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

此外,您没有索引页面的处理程序,这就是您收到/路径错误的原因。您可以用类似的方式添加处理程序:

router.get('/', indexHandler);