ajax 传递二进制数组,Ajax请求后台,后台返回二进制数据,JS应该如何解析?

后台代码片段:

UtilHttp.streamContentToBrowser(response, UtilObject.getBytes(list), "application/octet-stream");

后台list:

c6eb928159b9a6a15d1dbda8657b2bcf.png

把list转byte[],再通过io流输出到浏览器,那么在前端通过JS改如何解析呢?

前台Ajax请求代码如下:

$.ajax({

url: "../wfdurl/urlMenuReader.do",

type: "post",

async: false,

data: {},

dataType: "text",

success: function(result) {

console.log(result);

},

error: function(data) {

alert("服务器繁忙,请稍后再试...");

}

});

dataType: "text",得到的数据是乱码,如下图:

319e48d172c276c44ce8f33ca117ed35.png

求大牛指点啊...

根据大家指点,改成了原生XMLHttpRequest

var oReq = new XMLHttpRequest();

oReq.open("POST", "../wfdurl/urlMenuReader.do", true);

oReq.responseType = "arraybuffer";

oReq.onload = function (oEvent) {

var arrayBuffer = oReq.response; // 注意:不是oReq.responseText

if (arrayBuffer) {

var byteArray = new Uint8Array(arrayBuffer);

console.log('byteArray:' + byteArray);

for (var i = 0; i < byteArray.byteLength; i++) {

//...

}

}

};

oReq.send("type=" + obj.wFType + "&fornocache=QL8M4416");

byteArray: (不是想要的后台list)

bba2338a8f651a23d6fbc53b831ddb6e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值