请求后重定向

时间:2019-04-19 09:44:31

标签: html node.js

我正在创建一个带有表单的非常简单的网站。 在执行发布请求后,我无法重定向到页面。

我已经尝试了很多在Stackoverflaw上发现的东西,但是我无法使其正常工作。 这是我得到的错误:

错误:找不到模块“ html”

HTML:

  <form action="/LUNProvisionning" method="post">
    <fieldset>
      <legend>LUN Provisionning</legend>
      <br />
      <label>Choix du serveur : </label>
      <select id="serveur" name="serveur">
        <option value="1">Pas de detection de serveur :'(</option>
      </select>
      <br />
      <label>Volumétrie en Go 5 - 1000 : </label>
      <input type="number" min="5" max="1000" value="500" name="volumetrie">
      <br />
      <label>Type de provisionning : </label>
      <select id="provisionning" name="type">
        <option value="1">Thin</option>
        <option value="2">Deco</option>
      </select>
      <br/>
      <input type="submit" value="Submit">
    </fieldset>
  </form>

Nodejs:

const express = require('express');
const bodyparser = require('body-parser');
const app = express();
const path = require('path');
const router = express.Router();

app.set('view engine', 'html');
app.use(bodyparser.urlencoded({ extended: false }));
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/public/views');
app.use('/', router);

router.get('/', function (req, res) {
    res.sendFile(path.join(__dirname + '/public/views/index.html'));
});

router.get('/VMProvisionning', function (req, res) {
    res.sendFile(path.join(__dirname + '\/public/views/VMProvisionning.html'));
});

router.get('/LUNProvisionning', function (req, res) {
    res.sendFile(path.join(__dirname + '/public/views/LUNProvisionning.html'));
});

app.post("/VMProvisionning", function (request, response) {
    console.log(request.body.environnement);
    console.log(request.body.vCPU);
    console.log(request.body.RAM);
    console.log(request.body.tailledisque);
    response.render("\VMProvisionning.html");
});

app.post("/LUNProvisionning", function (request, response) {
    console.log(request.body.serveur);
    console.log(request.body.volumetrie);
    console.log(request.body.type);
    response.render("\LUNProvisionning.html");
});

app.listen(8080, function () {
    console.log('Running on Port 8080');
});


它应该直接重定向到我的其他页面,但不起作用。

当我访问此网站时:http://localhost:8080/LUNProvisionning我的页面正确显示。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您不想使用模板引擎,只需删除这些行并使用sendFile(如果您没有模板引擎,则不能使用response.render):

app.set('view engine', 'html');
app.set('views', __dirname + '/public/views');