我试图向我的网络设备发送HTTP POST请求。 我想向设备发送四个特定字节的数据,但不幸的是我似乎只能发送字符串到设备。是否有办法使用JavaScript发送原始二进制数据?
这是我用于进行POST的脚本,除非我在数据字段中放入一个字符串,否则它目前无法运行。有什么想法吗?
(function ($) {
$.ajax({
url: '<IP of Address>',
type: 'POST',
contentType: 'application/octet-stream',
//data:'253,0,128,1',
data:0xFD008001,
crossDomain: true
});
})(jQuery);
ArrayBuffer在XMLHttpRequest.send()中已被弃用。请改用ArrayBufferView。
但是接着又收到了一个ReferenceError: ArrayBufferView未定义
。 - MusaArrayBuffer
;typedArray
实际上作为xhr.send
参数被Chrome和Firefox支持。 - raina77owvar bytesArray = new Uint8Array(bytesToSend);
就足够了。详情请见,但我不想单方面进行编辑。 - T.J. Crowdernew TypedArray(plainArray)
结构只有在支持TypedArray.from(plainArray)
的浏览器中才可能进行,而根据这个文档页面的描述,IE和Safari并不允许。 - raina77owArrayBufferView
作为xhr.send
参数)只适用于Firefox和Chrome...而且,惊喜的是,到了2016年8月,IE和Safari仍然不支持它。 - raina77ow