针对调用第三方API时需要获取token作为头参数并传入两个参数的情况。若不需要参数,使用xmlResquest.send();即可
function DownloadContract() {
getLongToken();//此处为获取第三方token的方法(套用时删掉)
var url = "https:xxx";
var data = JSON.stringify({ "idType": "0", "idContent": "1903081452070113"});
var xmlResquest = new XMLHttpRequest();
xmlResquest.open("POST", url, true);
xmlResquest.setRequestHeader("Content-type", "application/json;charset=UTF-8");
xmlResquest.setRequestHeader("token",platformToken);//将获取的token放在请求头中(套用时删掉)
xmlResquest.responseType = "blob";
xmlResquest.onload = function (oEvent) {
var content = xmlResquest.response;
var elink = document.createElement('a');
elink.download = "test.pdf";
elink.style.display = 'none';
var blob = new Blob([content]);
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
};
xmlResquest.send(data);
//alert("succ");
}
其实这篇很大程度都是参考别人的博客了,我只是个整理者。
参考博客(JS处理文件流):JS处理文件流_Corner1990的博客-优快云博客_js 文件流
参考博客(四种 post 请求格式的XMLHttpRequest 写法):四种 post 请求格式的XMLHttpRequest 写法_harryhare的博客-优快云博客_post xmlhttprequest