Javascript 通过WebSocket发送多点触控事件

Javascript 通过WebSocket发送多点触控事件,javascript,json,node.js,websocket,Javascript,Json,Node.js,Websocket,我正在尝试将touch事件对象编码为JSON,以便通过websockets发送,出现一个错误,提示: 未捕获类型错误:将循环结构转换为JSON 当您拥有对象的属性(即对象本身)时,会发生错误。那么,通过WebSocket发送多点触控事件的方法是什么 document.addEventListener('touchmove', function(event) { console.log(event); event = JSON.stringify(event.touches); // Er

我正在尝试将touch事件对象编码为JSON,以便通过websockets发送,出现一个错误,提示:

未捕获类型错误:将循环结构转换为JSON

当您拥有对象的属性(即对象本身)时,会发生错误。那么,通过WebSocket发送多点触控事件的方法是什么

document.addEventListener('touchmove', function(event) {
  console.log(event);
  event = JSON.stringify(event.touches); // Error!
  connection.send(event);
}, false);

您正在尝试串接多个对象。这些对象包含对开始触摸的元素的引用。HTMLElement通常具有循环引用

在将触摸对象发送到服务器之前,应先从触摸对象中删除该元素。您可能希望在之前克隆它

delete touchObject["target"];

为什么要发送字符串?为什么不按原样发送JSON?您可以使用占位符而不是对象来避免循环引用,然后,在服务器端,您可以正确地重建对象。不,您应该从每次触摸中删除目标。