程序重定向到另一个页面,但其 html 未显示。程序显示“无法获取/页面”

问题描述 投票:0回答:1
javascript node.js express
1个回答
0
投票

href 需要提供路由路径,并且该路由路径必须像通常那样提供路由处理程序。

index.html

<h3 class="buttonl"><a href="/regform">Get Account ID</a></h3>

regform 路由处理程序

服务器.js

app.get('/regform', (req, res) => {
  let fileName = 'reg.html';
  res.sendFile(fileName, options, function (err) {
    if (err) {
      next(err);
    } else {
      console.log('Sent:', fileName);
    }
  });
});

另请注意,此路由路径提供的服务是普通的 html 文件。代码中引用的 reg.htm 相当于您的 acc_id.js

现在关于目录结构,它可以是普通的,也可以是嵌套的。要点是sendFile需要有静态路径,如下提供。在这种情况下,目录结构保持简单 - 没有嵌套。

服务器.js

var options = {
  root: path.join(__dirname, './'),
  dotfiles: 'deny',
  headers: {
    'x-timestamp': Date.now(),
    'x-sent': true,
  },
};

仅供参考,这是根路由处理程序。

服务器.js

app.get('/', function (req, res, next) {
  let fileName = 'index.html';
  res.sendFile(fileName, options, function (err) {
    if (err) {
      next(err);
    } else {
      console.log('Sent:', fileName);
    }
  });
});
© www.soinside.com 2019 - 2024. All rights reserved.