Nodejs - 如何将数据从 html 发送到 hapi

Nodejs - How to send data from html to hapi

我试图在 Node.js 中将一个值从我的前端传递到我的后端,因为你可能知道网上没有太多关于 Hapi 的文档,而且大多数教程都使用 angular.

我想简单地将一个变量从我的前端 (HTML) 传递到 Hapi 的后端。

index.html

 <script>
      $('#messages').submit(function(){
        var word =  $('#m').val();
        //alert(word);
       $('#m').val('');
       return false;
      });

    </script>
  </body>

那么这里应该怎么做才能传值呢?谢谢

P.S: 我搜索了但找不到与我类似的问题。

首先,您不需要 jquery 来传递值,用户可以直接从 html 表单进行传递,如下所示:

<form id="messages" action="./your/path/" method="POST">

  Your variable:
  <br>
  <input type="text" name="your_variable" value="your_value">
  <br>

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

</form>

如果您出于某种原因使用脚本,请在 submit() 回调中使用 AJAX 和 $.POST:

$('#messages').submit(function() {

  $.post("./your/path/", {
      your_variable: "your_value"
    })
    .done(function(data) {
      alert("Data Loaded: " + data); // change for whatever callback you want
    });

  return false;
});

查看 jquery documentation 阅读更多 $.post。

在后端,从 request.payload:

中获取处理程序中的变量

server.route([{
  method: 'POST',
  path: '/your/path/',
  config: {
      payload: {
          output: 'data'
      }
  },
  handler: function (request, response){
    var your_variable = request.payload.your_variable
  }
}]);

一些有用的 hapi.js 文档链接:request object, server route, route configuration, route handler.

此外,我建议您复习一下 HTTP 协议方面的知识: wikipedia page on HTTP 和一本关于 HAPI.js 的新 MEAP 书,可在 manning.org 上找到 - 我从中学到了 hapi.js,绝对精彩: Hapi.js in Action