[英]Server sending multiple responses after AJAX request - using Socket.IO and ExpressJS
我正在嘗試構建一個實時程序,用戶可以在其中在 Google 地圖上設置標記,而其他已連接的人可以獲得相同的標記。 除了幾分鍾后,服務器端再次提交數據外,一切似乎都正常。
澄清一下:客戶端在地圖上設置一個標記,該標記被發送到服務器,以 JSON 格式運行 Node JS 和 Express 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);
})
任何人都知道發生了什么?
您需要發送對 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
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.