在通過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。雙重保險。。。