ajaxを用いてphpからバイナリ形式のpdfデータを取得したいのですが、jQueryを用いたajax処理だとblobでデータを受け取れずテキスト?で返ってきてしまい困っています。
ちなみに生jsで書いたXMLHttpRequestを用いた形式だとなぜかblobで受け取れます。オプションなどは一緒にしているはずです。jqueryの処理でもblobで受け取れるやり方があればご教示お願い致します。
IE11環境です。
jquery
1 $.ajax({ 2 url: url, 3 type: 'POST', 4 beforeSend: function(xhr) { 5 xhr.setRequestHeader('X-CSRF-Token', csrf); 6 xhr.overrideMimeType("text/plain; charset=shift_jis"); 7 }, 8 dataType:'text', 9 responseType:'blob', 10 data: formData, 11 }) 12 // Ajaxリクエストが成功した時発動 13 .done(function(data) { 14 console.log(data); 15 });
生のjavascriptだと上手くいきます。。。
javascript
1 var xhr = new XMLHttpRequest(); 2 xhr.open('POST', url); 3 xhr.setRequestHeader('X-CSRF-Token', csrf); 4 xhr.overrideMimeType("text/plain; charset=shift_jis"); 5 xhr.responseType = 'blob'; 6 xhr.onload = function(e) { 7 if (this.status == 200) { 8 console.log(this.response); 9 }; 10 xhr.send(JSON.stringify(formData));
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。