button更新node.js和HTML

我正在尝试使浏览器/计算机之间的基本计数器。 (我是新来的)。 该button只能工作大约1/12的时间。 我如何使它更一致?

谢谢!

我的服务器端node.js看起来像:

var express = require('express'); var app = express(); var hits = 0; app.get('/main.html', function (req, res, next) { console.log('bye'); next(); }); app.get('/', function (req, res, next) { console.log('hello'); next(); }); app.get('/add', function (req, res) { console.log('added hits'); hits++; }); app.get('/hitNum', function (req, res) { console.log('hits req'); res.end(hits+''); }); app.use(express.static(__dirname + '/public')); var server = app.listen(80); 

我的HTML看起来像:

 <!DOCTYPE html> <html> <head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script> var add = function () { $.get('add'); } window.setInterval(function (){ $.get('hitNum').done(function (data){ document.getElementById('hits').innerText = data; }); }, 500); </script> </head> <body> <button onclick='add()' >Hi</button> <p id='hits'></p> </body> </html> 

我将从改变/hitNum控制器开始:不是只调用end() ,而是最好明确设置状态和主体(分别通过status()send() )。 以下是我如何写它:

 app.get('/hitNum', function (req, res) { console.log('hits req'); res.status(200).send('' + hits); }); 

200状态显示“SUCCESS”。

还有一件事:

您的/add控制器不会发送任何回应。 这意味着你的JS不知道/add请求是否/何时完成:

 app.get('/add', function (req, res) { console.log('added hits'); hits++; res.status(200).end(); });