我想在Scala.js中使用sendBeacon应用程序接口,并以ByteBuffer的形式发送二进制数据,但我无法将其转换为BodyInit。我使用的是boopickle,它会生成一个包含我的实例的编码数据的二进制ByteBuffer。
按照建议,我尝试将ByteBuffer转换为ArrayBuffer并将其转换为BodyInit。但是,当在Firefox53.0.3上运行这段代码时,我没有收到运行时错误,而是有效负载只包含[object ArrayBuffer],而不包含二进制数据本身。
代码如下:
import scala.scalajs.js.typedarray.TypedArrayBufferOps._
import boopickle.Default._
import org.scalajs.dom.experimental.BodyInit
import org.scalajs.dom.experimental.beacon._
case class Message(firstName: String, lastName: String)
val message = Message("John", "Doe")
val data = Pickle.intoBytes(message).arrayBuffer()
dom.window.navigator.sendBeacon("/api", data.asInstanceOf[BodyInit])https://stackoverflow.com/questions/44522999
复制相似问题