我使用XMLHttpRequest閱讀PDF文檔 http://www.virtualmechanics.com/support/tutorials-spinner/Simple2.pdf的XMLHttpRequest返回錯誤編碼字符
%PDF-1.3
%âãÏÓ
[...]
並打印其內容出去控制檯:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
console.log('âãÏÓ');
}
};
xhr.open('GET', 'http://www.virtualmechanics.com/support/tutorials-spinner/Simple2.pdf', true);
xhr.send();
但是,控制檯說
%PDF-1.3
%����
[...]
âãÏÓ
(最後一行來自參考文獻console.log
上面,以驗證控制檯可以實際顯示這些字符。) 顯然,字符在某些時候被錯誤編碼。發生了什麼問題以及如何解決這個問題?
也許你的控制檯字體根本不具備'âãÏÓ字形'... – mkl
@mkl是的,它有。我相應地編輯了這個問題。 –
Arg,我沒有立即看到,你使用'XMLHttpRequest.responseText'。該屬性已經嘗試將響應解釋爲文本並且似乎失敗。 PDF文件不是文本文件,因此不應該這樣對待。你可能想嘗試使用'XMLHttpRequest.response'而不是cf. MDN [發送和接收二進制數據](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data)頁面。 – mkl