我试图使用XmlHttpRequest对象发布数据(文件中的一部分),其中Int8Array作为数据,但在FF18中失败,但在IE10& Chrome中工作得很完美。
这是我的JS:
//dataObj is an Int8Array with approx. 33,000 items
var oReq = new XMLHttpRequest();
oReq.open("POST", "Ajax/PostChunk");
oReq.onload = function (oEvent) {
//
};
oReq.send(dataObj);我在Firefox中使用Firebug来调试JS,当我在Net选项卡下查看活动时,这个XHR调用就不会显示任何内容。好像从来没叫过似的。
而且,在此调用之前,我将jQuerys .ajax()方法称为“Ajax/Post纯prior”,这在所有浏览器中都很好,尽管它的数据不使用Int8Array。据我所知,我不能为此使用.ajax(),因为.ajax()不支持Int8Array对象。
有人知道为什么Firefox甚至不尝试发送这个吗?任何问题,请问。
提前谢谢。
发布于 2013-01-15 00:16:41
发送类型化数组(相对于数组缓冲区)的能力是XMLHttpRequest2规范中最近增加的一项功能。它将在4月份左右的Firefox 20中得到支持(请参阅bug.cgi?id=819741 ),但同时如果您的Int8Array覆盖了整个缓冲区,那么执行send(dataObj.buffer)应该可以工作.
注意,根据旧的规范,上面的代码应该发送一个类似于"object Int8Array“的字符串,而不是抛出;您可能需要检查,以确保其他浏览器确实在发送数组数据,而不是该字符串。
https://stackoverflow.com/questions/14328947
复制相似问题