将计数器变量从html页面传递回节点js服务器

时间:2014-10-13 21:39:48

标签: javascript node.js

noob node JS问题..

我目前正在运行以下服务器:

var http = require('http'),
    fs = require('fs');

fs.readFile('./index.html', function (err, html) {
    if (err) {
        throw err; 
    }       
    http.createServer(function(request, response) {  
        response.writeHeader(200, {"Content-Type": "text/html"});  
        response.write(html);  
        response.end();  
    }).listen(8000);
});

所以服务器读取我的index.html文件并在服务器上运行它。在那个HTML页面中,我写了一些基本的javascript(以及HTML),它有一个计数器变量,只要点击一个按钮,计数器就会显示在HTML页面上。

我的问题是:是否可以将计数器变量从HTML文件发送到服务器,或者是否可以在服务器上声明计数器变量然后在服务器上递增并在HTML页面上显示? / p>

澄清一下:基本上我想点击HTML页面上的一个按钮,让计数器转到计数器++,然后在服务器端访问这个计数器变量。

无论如何最好没有任何插件吗?

1 个答案:

答案 0 :(得分:2)

你可以这样做:

var http = require('http'),
    fs = require('fs');

var counter = 0;

fs.readFile('./index.html', function (err, html) {
    if (err) {
        throw err; 
    }       
    http.createServer(function(request, response) { 
        response.writeHeader(200, {"Content-Type": "text/html"}); 
        if(request.url == "/countup"){
            counter++; 
            response.write("Counted UP");
        } else {
            if(request.url == "/getnumber"){
                 response.write(counter);
            } else {
                 response.write(html);
            }
        } 
        response.end();  
    }).listen(8000);
});

现在,当您请求http://localhost:8080/getnumber时,您将获得当前号码。 如果您请求http://localhost:8080/countup,计数器将计算一个并发送bakc"计数UP"。 对于其他所有内容,您将获得index.html文件。

要将其与您的按钮连接,您需要执行ajax请求,该请求已得到很好的解释here

祝你好运

达斯汀

PS。:请查看express.JS