У меня довольно простое приложение node.js, которое должно управлять некоторыми светодиодами через интерфейс REST. Существуют страницы, которые должны отображать определенные сведения - они создаются из шаблонов мопсов. И некоторые другие конечные точки REST должны включать или выключать светодиод.node.js express router.post дает 404
Моя проблема заключается в том, что я могу вернуть HTML-сайт с получить, но я не могу выполнить функцию через пост.
Это мой код:
var express = require('express');
var router = express.Router();
var led = require('../public/javascripts/driveredled');
/* GET Red LED page. */
router.get('/', function(req, res, next) {
res.render('oneled', { title: 'Red LED' });
});
// base path is already set as being /leds/{color}
router.post('/on', function(req, res) {
led.turnledon();
});
// base path is already set as being /leds/{color}
router.post('/off', function(req, res) {
led.turnledoff();
});
// base path is already set as being /leds/{color}
router.post('/blink', function(req, res) {
led.blinkled();
});
module.exports = router;
и вот выход журнала:
sudo npm start
> [email protected] start /data/shared/Developing/ledconodel
> node ./bin/www
Listening on port port 3000
GET /leds/blue/ 200 2291.133 ms - -
GET /leds/blue/ 304 229.306 ms - -
GET /stylesheets/style.css 304 11.105 ms - -
GET /leds/blue/on 404 328.030 ms - 1155
Как можно видеть, страница HTML (динамически созданные с помощью мопса) возвращается правильно, но пост-команда до конечной точки на, нет.
Я очень новичок в node.js, выражениях и связанных с ними концепциях, поэтому я скорее застрял здесь.
Может ли кто-нибудь помочь?
С наилучшими пожеланиями,
Chris
Как виден из вашего выхода, вы, кажется, делать запрос GET на '/ on' вместо запроса POST. –
Это потому, что вы пытаетесь получить доступ к своей конечной точке с помощью GET, а не с POST. – JavaEvgen
Это потому, что вы ничего не возвращаете, когда создается почтовый запрос. что-то вроде 'router.post ('/ on', function (req, res) { led.turnledon(); res.json ({status: 'success'}); }); ' –