XMLHttpRequest 无法设置 responseType


在通过Ajax请求获取Binary类型数据的时候,大部分情况下都是好的,返回的结果都是Arraybuffer类型,但是某些Chrome的版本(44.0.2403.157 m),返回的却是String类型。之前一直没空处理,所以都是用升级浏览器的方式解决,这次下决心要看看是什么问题。查了好久,发现是ajax请求的时候无法设置 responseType, responseType的值一直是“”,然后各种查资料啊什么的,都没有找到解决的办法, 发现Chrome调试窗口中的变量监视下,responseType会显示 illegal invocation的一个Exception。然后又是一顿查资料,还是没能查到。最终还是用一个取巧的方法来解决,如果哪位朋友知道是什么问题的话,还望告知!

解决的方式是用fetch代替ajax,为了兼容某些浏览器,需要先判断fetch是否定义

'undefined' !== typeof fetch

这样在fetch可以用的时候就用fetch,不能用就用ajax。双重保险。。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM