解决ajax下载文件的时候没有反应 return的是类似于html的乱码

有一个需求是用户批量生成账号后,可以选择是否将刚生成的账号生成Excel.
当时想的就是做一个弹窗 用户点击是 就可以下载对应的Excel.
想把获取到的userlist直接作为json传到后台,然后生成对应的userlist,直接生成Excel就ok了.
结果发现点击下载之后 没有弹出下载的页面,跟了一下代码代码也没有报错,F12发现返回的是很大篇幅的乱码 类似于html的那种.
然后查了一下 发现是因为文件下载返回的是二进制的内容,而ajax并不能接受二进制的信息.所以会报错.
可以把ajax改为直接通过<a>标签跳转的方式来进行下载.
但是因为自己是需要传递json类型的一个list数据 比较大 所以就不能直接这么访问了.
看到网上也有说 在下载文件的时候 把datatype 改为blob 也是可以的
也是尝试了一下 也不能满足自己的需要
最后只能通过a标签 将用户的id传到了后台 在后台查询了一下
生成Excel

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,820评论 1 45
  • 4. Web集成 4.1. Web提供的全局变量 Web集成模块向模板提供web标准的变量,做如下说明 reque...
    西漠阅读 4,611评论 0 0
  • 一、 认识Ajax 1、 初识 ajax 我们平常上网,不管是注册账号,还是浏览网页,其本质就是通过客户端向服务器...
    宠辱不惊丶岁月静好阅读 1,046评论 0 2
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,156评论 1 32
  • 一、简历准备 1、个人技能 (1)自定义控件、UI设计、常用动画特效 自定义控件 ①为什么要自定义控件? Andr...
    lucas777阅读 5,275评论 2 54