Variablen, die zwischen dem HTML-Client und Node.js Server
Ich möchte nur zur übergabe von Variablen aus einer HTML-Seite zu einem Knoten js und führen ein paar Berechnungen auf die Daten und bekommen es zurück zu HTML mit Hilfe von ejs
Nach der Installation von ejs :
npm install ejs
Ich versuche, mich zu übergeben, diese variable temp mit dem Wert 50 "HTML-Seite":
<html>
<head>
</head>
<body>
My temperature: <%= temp=50 %>
Temp + 10 : <%= total %>
</body>
</html>
und meine nodejs server.js:
var http = require('http');
var ejs = require('ejs');
var fs = require('fs');
http.createServer(function(req,res) {
res.writeHead(200, {'Content-Type': 'text/html'});
//since we are in a request handler function
//we're using readFile instead of readFileSync
fs.readFile('index.html', 'utf-8', function(err, content) {
if (err) {
res.end('error occurred');
return;
}
var temp; //here you assign temp variable with needed value
var total = temp+10;
var renderedHtml = ejs.render(content, {temp: temp, total:total}); //get redered HTML code
res.end(renderedHtml);
});
}).listen(8080);
Jede Hilfe wäre geschätzt
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der server Datei den Wert von "temp" nicht definiert ist. Und so insgesamt = undefined + 10 = undefined. Also die Variablen sind nicht definiert in der server-Datei.
Versuchen Sie, dies zu tun (in der server-Datei):
var temp = 0
var total = 0
In der html-Datei
My temperature: <%= temp = 50 %>
Temp + 10 : <%= total = temp + 10 %>
Jetzt sollte die Anzeige den richtigen Wert ich.e 50 und 60. Hoffe, das hilft
Diese werden Sie nicht brauchen
fs
Anforderung.Alles, was Sie tun müssen, ist :
HTML ("umbenennen", um index.ejs):
<!DOCTYPE html> <html> <body> <form> Set temperature:<br> <select id="temp"> <option>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> </select> C <br> <input type="button" onclick="myFunction()" value="Set Temp"> </form> <script> function myFunction() { var h = document.getElementById("temp"); var option_1 = h.options[h.selectedIndex].text; temp= Number(option_1); } </script> </body> </html>
Ist das möglich, übergeben Sie die variable temp um die server.js Datei ?