节点服务器自行重启

时间:2018-05-06 08:50:33

标签: javascript node.js

所以我有这个文件“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”变量再次被打印出来,好像有人点击了上面的“发送”按钮一样。在客户端形成。需要一些帮助来解决这个问题

1 个答案:

答案 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 ...");
}) ;