【发布时间】:2015-09-04 11:07:08
【问题描述】:
我尝试使用 POST 通过ArrayBuffer 发送一些字节,但似乎请求有效负载始终为空。这是一些代码sn-p:
var buffer = new ArrayBuffer(10);
var dataView = new DataView(buffer);
dataView.setInt32(0, 0x1234ABCD);
var request = {
method: 'POST',
url: 'url',
headers: {'Content-Type': 'application/octet-stream'},
data: buffer,
responseType: 'arraybuffer'
};
$http(request)
.success(function(data, status, headers, config) { ... })
.error(function(data, status, headers, config) { ... });
【问题讨论】:
-
经过一番研究,原来是AngularJs的问题。缓冲区没有使用 AngularJs $http 在有效负载中发布,我必须使用 XHR2(AngularJs 包装)直接发布缓冲区,这是成功的。更多详情参考:html5rocks.com/en/tutorials/file/xhr2/#toc-send-string