所以我有这个文件“client.html”将字符串发送到节点服务器
client.html
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="http://127.0.0.1:3000/search" method='get'>
<input type="text" name="name">
<input type="submit" value="search">
</form>
</body>
</html>
服务器获取输入字符串并将其打印在控制台上。一段时间后,它应该打印“其他东西”。
index.js
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var util = require('util');
var port = process.env.PORT || 3000;
app.all('/', function(req, res) {
res.sendFile(__dirname+'/client.html');
});
app.get('/search', function(req, res) {
var name = req.query.name;
console.log(name);
setTimeout(function(){
console.log("Something else");
}, 240000);
}) ;
//listen in a specific port
app.listen(port);
//check status
console.log('Server running at http://localhost:' + port);
相反的是,“name”变量被打印出来,然后在打印出“其他东西”之后的一段时间,“name”变量再次被打印出来,好像有人点击了上面的“发送”按钮一样。在客户端形成。需要一些帮助来解决这个问题
答案 0 :(得分:0)
我猜你应该在连接超时并且浏览器尝试重新连接之前回答客户端:
app.get('/search', function(req, res) {
var name = req.query.name;
console.log(name);
setTimeout(function(){
console.log("Something else");
}, 240000);
res.end("Searching ...");
}) ;