2015-06-03 3 views
1

Я создал приложение NodeJS с портом 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); 

Я зову маршрутизатор с сервера и 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"); 
} 

После выполнения, метод контроллера не вызывая

[email protected]:~/Desktop/nodeJS/doctor-appointment$ node server.js
Router
Doctor appointment at 7777

и конечная точка определена в http://localhost:7777/

приходит в Cannot GET / в браузере

И для http://localhost:7777/appointment

, показывая, как Cannot GET /appointment. Как выполнить метод контроллера?

ответ

0

Вы обработки запросов POST к /appointment с этой строки кода:

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

Изменение post к get, если вам нужно просто получить доступ к странице, например, так:

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

Также у вас нет обработчика для индексной страницы, поэтому вы получаете ошибку для пути /. Вы можете добавить обработчик подобный путь:

router.get('/', indexHandler);

+2

Спасибо за ваш ответ. 'Невозможно GET /' в браузере после выполнения. Как это решить? –

+0

@Donthamsettivbhadrarao, см. Обновленный ответ – zaynetro

2

используйте

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

в router.js

+0

Вы не передаете аргументы функции 'takeAppointment' – zaynetro

+0

@zaynetro да, вы можете пройти, но я просто пытался дать эту идею. – KlwntSingh

+2

Пожалуйста, тел, где я могу использовать пост, получить. Если еще? –

Смежные вопросы