我正在尝试构建一个实时程序,用户可以在Google地图上设置标记,其他人可以使用相同的标记。一切似乎都运行正常,但几分钟后,服务器端再次提交数据。
澄清一下:客户端在地图上设置标记,标记被发送到服务器,以JSON格式运行带有Express JS的Node JS。服务器将数据返回给所有连接的客户端。几分钟后,服务器再次发送它收到的相同数据,导致" ERR_EMPTY_RESPONSE"客户端在示例的最后一行"客户端代码"。
客户代码:
var data = new Array();
data.push({lat: Gmap.markers[0].lat, lng: Gmap.markers[0].lng});
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "/marker", true);
xhttp.setRequestHeader('Content-type', 'application/json; charset=UTF-8');
xhttp.send(JSON.stringify(data));
服务器端:
var app = express():
app.post('/marker', function(req,res){
io.emit('marker', req.body);
})
任何人都知道会发生什么事?
答案 0 :(得分:0)
您需要向http请求发送回复。如果您不这样做,浏览器会将其计时并尝试重试。
var app = express():
app.post('/marker', function(req,res){
io.emit('marker', req.body);
res.send("ok"); // <== Send a response to the http request here
})