Node.js和Express把手 - 404错误

时间:2016-07-21 22:07:14

标签: node.js express handlebars.js

对于我的课程,我必须设计一个应用程序,在页面顶部显示传入的请求是GET还是POST,然后必须打印一个表格,显示在URL查询字符串中发送的所有参数名称和值,以及请求正文中收到的属性名称和值。 到目前为止,我已经能够使我的localhost:端口工作,它正确显示请求是GET还是POST。但是当我转到应该显示表格的子页面时,我得到的是404。

以下是我认为导致问题的渲染页面:

function runQ(req) {
  console.log(req.qParams);
  console.log(req.body);

  var context = {};
  context.queryParams = [];
  context.bodyParams = [];
  context.queryCount = 0;
  context.bodyCount = 0;

  for( var p in req.qParams) {
    context.queryCount++;
    context.queryParams.push({'name': p, 'value': req.qParams[p] });
  }

  for( var p in req.body) {
    context.bodyCount++;
    context.bodyParams.push({'name': p, 'value': req.body[p] });
  }

  context.methodType = req.method;
  return context;
}

app.get('/request', function(req, res) {
  res.render('request', runQ(req));
});
app.post('/request', function(req, res) {
  res.render('request', runQ(req));
});

我在我的ubuntu / getpost / views文件夹中保存了request.handlebar以及404和500把手。

我用于测试的命令是:

$ curl --data "a=1&b=2&c=3" localhost:port

当我运行节点时,我用实际的IP和端口地址替换了localhost:port。 我的控制台在运行节点的选项卡上返回此信息:

undefined
{ a: '1', b: '2', c: '3' }

这在我输入cURL命令的选项卡上:

<!doctype html>
<html>
<head>
        <title>Demo Page</title>
</head>
<body>
        <h1>POST Request Received</h1>

  <table>
    <caption><p>Request Body Table</p></caption>
    <thead>
      <tr>
        <th>Property Names</th>
        <th>Values</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>a</td>
        <td>1</td>
      </tr>
      <tr>
        <td>b</td>
        <td>2</td>
      </tr>
      <tr>
        <td>c</td>
        <td>3</td>
      </tr>
    </tbody>
  </table>
</body>

所以一切似乎都在从控制台运行,但是当我尝试访问localhost:port / request时,我转到404错误而不是显示表格的页面。

谁能告诉我我做错了什么?谢谢大家的时间。

0 个答案:

没有答案