[英]Button update node.js and HTML
我试图做一个基本的计数器,可以在浏览器/计算机之间工作。 (我是新来的)。 该按钮仅在大约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
控制器开始:最好不显式设置状态和主体(分别通过status()
和send()
,而不是仅调用end()
)。 这是我的写法:
app.get('/hitNum', function (req, res) {
console.log('hits req');
res.status(200).send('' + hits);
});
200
状态指示“成功”。
还有一件事:
您的/add
控制器不会发回任何响应。 这意味着您的JS将不知道是否/何时完成/add
请求:
app.get('/add', function (req, res) {
console.log('added hits');
hits++;
res.status(200).end();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.