jQuery ajaxリクエストを送信し、data:xml
次Content-Type:text/xml
のレスポンスを取得しています:
--MIME_boundary
Content-Type: text/xml; charset=utf-8
Content-Transfer-Encoding: binary
Content-ID: <SOAP-ENV:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope> .............</SOAP-ENV:Envelope>
--MIME_boundary
Content-Type: application/pdf
Content-Transfer-Encoding: binary
.... pdf binary data .....
私が理解しているように、応答は添付ファイル付きのマルチパートです...しかし、soap部分とpdf生データ部分を個別に抽出し、バイナリデータを使用してこのpdfを構築するにはどうすればよいですか? 助けてくれてありがとう。
これも視野に入れておく:http://www.w3.org/TR/SOAP-attachments#SOAPReferenceToAttachements
更新:少し調査した後、さまざまな回答をまとめたところ、次の問題と疑問が生じました。
- Ajax - jquery .ajax() 関数 - テキスト/xml 応答のみを処理するため、バイナリ データを処理しません (どこかで読み取ってください)。しかし、マルチパートを取得している場合 -> Content-Type: application/pdf -> バイナリ データを取得しています。
- バイナリ データを base64 に変換してから html5 データを使用することもできます。
さて、私の結論は次のようになります。
- ajax リクエストを作成し、URL パスを取得して、window.location.href を使用してサーバーからファイルを直接ダウンロードするだけです。
ここで間違っている場合は修正してください: jQuery Ajax はマルチパート MIME 応答を処理できませんか??