ノードにhtmlファイル(test.html)を読み取らせ、テキスト入力を介してユーザー入力を同じファイルに非同期に書き込むことができるかどうかを理解しようとしています。webserver.js に Web サーバーをセットアップしてから、test.html という名前の別のページをセットアップしました。
スイッチの「テスト」ケースにリスナーを追加して、データをリッスンし、サーバーターミナルにデータを記録してから、このデータをファイルに書き込みます。
webserver.js スクリプトから test.html の入力フィールドに直接接続されていないことは理解しています。これが最初の問題かもしれません。次に、test.html に応答をレンダリングする領域が定義されていないことを認識しています。これは、Node.js で行う方法を知りたいことです。
ですから、それほど問題がなければ、これを機能させる方法について少しガイダンスが得られることを願っています。
var http = require('http')
, url = require('url')
, fs = require('fs')
, server;
server = http.createServer(function(req, res){
var path = url.parse(req.url).pathname;
var userData = "";
switch(path){
case '/':
fs.readFile(__dirname + '/index.html', function (err, data) {
if (err) throw err;
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data, 'utf8');
res.end();
});
case '/test':
fs.readFile(__dirname + '/test.html', function (err, data) {
if (err) throw err;
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data, 'utf8');
req.addListener("data", function(userDataChunk) {
userData += userDataChunk;
console.log("Received chunk ’"+userDataChunk + "’.");
res.end("<p>" + userData + "</p>");
});
});
break;
default: '/';
}
});
そしてtest.htmlにはテキスト入力があります
<html>
<head></head>
<body>
<input type="text" name="userInput" />
</body>
</html>
test.html に javascript を追加して、keyup で入力を取得してページに書き込むことができることはわかっていますが、これをすべて Node.js で実行できるかどうか疑問に思っています。
どんな助けでも大歓迎です、ありがとう。