2015-08-27 142 views
0

我是node.js編程的新手。我有一個腳本運行在我的樹莓派上,提供一個web界面來更改設置並將它們保存到文件中。刷新node.js數據

現在,我還希望在頁面上顯示帶有自動刷新的表單的信息,當另一個文件時,我們將其稱爲position.txt被更改。

我該怎麼做? 我的代碼到現在:

var fs = require('fs'); 
 
var http = require('http'); 
 
var qs = require('querystring'); 
 
var postHTML = 
 
    '<html><head><title>Post Example</title></head>' + 
 
    '<body>' + 
 
    '<form method="post">' + 
 
    'Richtung:<br><select name="input1" size="1">' + 
 
    '<option value="1">Rueckwaerts</option>' + 
 
    '<option value="2">Vorwaerts</option>' + 
 
    '<option value="0">Stop</option>' + 
 
    '<option value="3">ENDE</option>' + 
 
    '</select><br><br>' + 
 
    'Geschwindigkeit:<br><select name="input2" size="1">' + 
 
    '<option value="010">1</option>' + 
 
    '<option value="020">2</option>' + 
 
    '<option value="030">3</option>' + 
 
    '<option value="040">4</option>' + 
 
    '<option value="050">5</option>' + 
 
    '<option value="060">6</option>' + 
 
    '<option value="070">7</option>' + 
 
    '<option value="080">8</option>' + 
 
    '<option value="090">9</option>' + 
 
    '<option value="100">10</option>' + 
 
    '</select><br><br>' + 
 
    '<input type="submit">' + 
 
    '</form>' + 
 
    '</body></html>'; 
 

 
http.createServer(function (req, res) { 
 
    var body = ""; 
 
    var in1 = ""; 
 
    var in2 = ""; 
 
    req.on('data', function (chunk) { 
 
    body += chunk; 
 
    }); 
 

 
    req.on('end', function() { 
 
    var gesamt = qs.parse(body); 
 
    in1 = gesamt['input1']; 
 
    in2 = gesamt['input2']; 
 
    var erg = in1+in2; 
 
    fs.writeFile('befehl.txt', erg, function(err) { 
 
     if (err) return console.log(err); 
 
    }); 
 
    //console.log('POSTed: ' + in1); 
 
    res.writeHead(200); 
 
    res.end(postHTML); 
 
    }); 
 
}).listen(8080);

+3

看着你的代碼恕我直言,我很遺憾地說,你離你想要達到的目標太遠,無法在這裏回答。給你一個小指針看看這裏:http://socket.io/。 –

+0

一般而言,我的代碼只是爲了向您展示如何生成我網站的顯示部分。 – fidgol

+0

我明白除了你的問題之外還有更多的工作,但我的意思是讓小表單刷新它的數據與服務器發送事件將需要添加框架,如jquery使用工具如鮑爾包括socket.io,添加這個文件的收聽者,以及所有這些都是他們自己的問題......並且看着你的代碼,似乎你並沒有向這個方向做任何嘗試。 –

回答

0

你必須做出一個觸發功能,以檢查文件是否已經改變,並相應地更新視圖。 爲什麼不使用模板引擎來顯示視圖?