Nodejs表单GET请求无法显示呈现页面

时间:2015-04-15 04:47:33

标签: javascript node.js

我是新手使用nodejs,也许问题描述不是那么清楚,因为我没有发布我想做的所有任务,这可能有点压倒性。

以下是程序:

  1. 使用GET请求向服务器端输入一些参数“p”“t”“l”“u”“g”。
  2. 使用输入作为上述参数运行子进程'planner()'。
  3. 将输出呈现给客户端。
  4. 问题是,现在我可以从控制台看到规划器结果,但是客户端页面不会指向/ planner页面,或者是否有其他方式向客户端显示结果,比如显示控制台输出原始索引页?

    index.ejs:

      <h2><%= title %></h2>
      <% for(var i=0; i<data.length; i++) {%>
           <li><%= data[i] %></li>
        <% } %>
      <form id="planner" method="GET" action="/planner">
        <input type="TEXT" id="p" size="40"><br>
        <input type="TEXT" id="t" size="40"><br>
        <input type="TEXT" id="l" size="40"><br>
        <input type="TEXT" id="u" size="40"><br>
        <input type="TEXT" id="g" size="40"><br>
        <input type="button" id="submit" value="Submit">
      </form>
    

    index.js

    //planner() omitted...  
    
    router.get('/planner', function(req, res){
    var p=req.query.p;
    var t=req.query.t;
    var l=req.query.l;
    var u=req.query.u;
    var g=req.query.g;
    console.log(p+"\n"+t+"\n"+l+"\n"+u+"\n"+g);
    
    planner(p, t, l, u, g, function(planner_output){
        res.render('index', { 
            title: 'Planner Outputs:',
            data: planner_output 
        });
    });
    

    谢谢。

2 个答案:

答案 0 :(得分:0)

最后我发现了这个错误并且它真的很愚蠢,Express的res.render()在这里很好但我错误地使用了按钮的类型:

<input type="button" id="submit" value="Submit">

应该是

<input type="submit" value="Submit">

答案 1 :(得分:0)

<input type="submit" id="submit" value="Submit">

输入类型必须提交