解决AJAX不支持下载文件问题

应用场景

前端想访问一个下载文件的接口,如果使用ajax方式进行访问的话,可以看到状态码是200,是已经成功的,但是文件并没有下载成功,你不管修改请求类型是POST,还是GET,或者是PUT,甚至是DELETE,结果都是200,但就是下载不了。

原因分析

ajax请求返回的参数是json,text,html,xml类型,ajax不能调用IO流,所以不可以完成下载功能,ajax可以获取文件的数据,但是不能保存到磁盘,为了保证计算机安全,JS不可以和磁盘进行交互。

解决方法

使用这个方法进行调用,写自己的接口名即可。

 function onDownload(bdoc) {
    
    
        var $eleForm = $("<form method='post'></form>");
        $eleForm.attr("action",__rootPath + "/qwq/know/file/preview.do?fileId="+bdoc);
        $(document.body).append($eleForm);
        $eleForm.submit();
    }   

猜你喜欢

转载自blog.csdn.net/numbbe/article/details/108993637