【JS】记录一下今天遇到的问题和解决方法
问题:下载文件的时候,后台将数据写入response,前端不能下载文件,只能在response中看到一堆乱码。
解决办法:
前端下载文件的时候,不要用ajax发请求,用 window.open(_url);
function downloadAttachment(id) {
jQuery.ajax({
url: CONTEXTPATH + "/purchaseContract/query",
type: "GET",
data: {"id": id},
success: function (result) {
if (!result.success) {
cui.alert(result.message);
return;
}
var attachs = result.result; //先查询附件,可能有多个,然后循环下载
var attachmentId = "";
for (var i = 0; i < attachs.length; i++) {
attachmentId = attachs[i].attachmentId;
var url = CONTEXTPATH + "/purchaseContract/download?id="+ id + "&attachmentId=" + attachmentId;
window.open(url);
}
}
});
}