2017-07-11 12 views
0

私はnodejsを使い慣れていて、elasticsearchに接続してelasticsearchからデータを取り出し、それを操作してデータをHTMLファイルに入れます。問題はhtmlがクライアント側でnodejsがサーバー側であり、どのように接続するのかわからないということです。ここで は私のコードです: のNode.js:nodejsの変数とデータをhtmlファイルに取得する

var counting = 1; 
var total = 1; 
var elasticsearch = require('C:/Windows/System32/node_modules/elasticsearch'); 
    var client = new elasticsearch.Client({ 
     host: 'localhost:9200' 
    }); 

    client.count({index: 'csv_pattern'}, function(err, resp, status) { 
     counting = resp['count']; 
    }); 

     client.search({ 

      index: 'csv_pattern', 
      body: { 
       size : counting 
      } 
     }, 
      function (error, response, status) { 
       total = response['hits']['total'];  
       }); 

私はhtmlファイルにNode.jsのファイルの変数を使用したい、私は私はそれをどのように行うのか教えてください。 あなたのご協力をよろしくお願い申し上げます。

+1

http://socket.ioファイルEJSで

app.set('view engine', 'ejs'); response.render('output.ejs', {result: JSON.parse(response_data)}); 

あなたが探しているものと思われます。ネイティブの 'socket'ソリューションを試すこともできます。 –

答えて

0

ノードでEJSを使用すると、まずビューエンジンをインストールしてejsに設定し、output.htmlではなくoutput.ejsファイルにhtmlコードを保存し、render関数を使用して出力をHTMLのように送信します。

<tbody> 

     <% for(var i=0; i<result.length; i++) {%> 
     <tr> 
       <td><%= result[i].paramname %></td> 
     </tr> 
    <% } %> 

</tbody> 
+0

アプリが定義されていないというエラーが表示されます。私は何をしますか? – kanika

+0

expressをインストールしてアプリを作成します。 const express = require( 'express'); const app = express(); –

+0

node.jsにこのコードを追加する必要があります:app.set( 'view engine'、 'ejs');response.render( 'output.ejs'、{結果:JSON.parse(response_data)}); – kanika

関連する問題