2012-03-17 13 views
6

Node.jsに小さなアプリケーションを開発しています。私はちょうど入力と出力のためにNode.jsを使用しています。実際のウェブサイトは単にnginxを実行しています。このWebサイトにはnode.jsとのWebsocket接続があり、主にdb操作に使用されます。node.jsをHTML形式のファイルに読み込む

私がしようとしていることの1つは、ノードがデータベースからのデータと共に小さなHTML断片を送信するようにすることです。私は次のコードを試しました。簡略化され

connection.on('message', function(message) { 
     fs.readFile(__dirname + '/views/user.html', function(err, html){ 

      if(err){ 
       console.log(err); 
      }else{ 
       connection.sendUTF(JSON.stringify({ 
        content: html, 
        data: {} 
       })); 
      } 
     }); 
    } 
}); 

とき、私のサーバー上または私はバックナンバーを取得し、クライアントでconsole.log(html)

誰かが間違っている可能性があります。

注:私は本当になどsocket.ioexpress、ちょうどそれをできるだけシンプルに保つと何のフォールバックが必要ないように離れたものから滞在したい

+0

ステップ3(http://net.tutsplus.com/tutorials/javascript-ajax/learning-serverside-javascript-with-node-js /)?また、 "sendHeader"を "writeHead"に置き換えることもできます。 – cormacrelf

+0

senHeaderの置き換え場所はどこですか? –

答えて

22

fs.readFileのエンコーディングを指定しない場合は、予想されるファイルの内容の代わりにローのバッファを取得します。

はこのようにそれを呼び出して試してみてください:[この]の

fs.readFile(__dirname + '/views/user.html', 'utf8', function(err, html){ 
.... 
+0

さて、私はそれを試みます。私はあなたが何も指定しないと、自動的にutf8にデフォルト設定されていることをドキュメントで読むと思った。たぶん私は何か見落としたでしょう。これを試して、報告して戻します。 –

+0

それはトリックでした! –

+0

答えをありがとう! :) – Aircraft5

関連する問題