今、jquery ajaxを使用してバックエンドに呼び出し(フォームを介して呼び出しから呼び出しに変更するパラメータを持つ)を使用してxmlファイルを取得するwebappがあります。プライベートアプリケーションのために、xmlデータを別の拡張子を持つファイルに入れたいと思います。ajaxから取得したデータを開き、自動的にダウンロードする
基本的には、ユーザーがボタンをクリックできるようにして、に返信されたajax xmlデータを含むファイルを「開く」または「保存する」と自動的にプロンプトを出します。
私はPHPを使って生のhttpヘッダーを送信することに手を貸しましたが、それを動作させる方法を理解できません。 私はこれをすべてjavascriptとjqueryで書いています。
以下のコードでは、(1)Ajaxコールを作成する、(2)HTMLページにXMLを書き込む、(3)HTMLページを開くだけです。あなたが行われることができるはずですあなたは再び、ユーザーのためにそれを利用可能にする前に取得したデータ、で遊んでする必要がない限り
var format = function() {
$("button#format").click(function() {
$("#form").submit();
$.ajax({
url: "find",
beforeSend: function (xml) {
xml.overrideMimeType("application/octet-stream; charset=x-user-defined");
},
data: $("form#form").serialize(),
dataType: "html",
success: function(xml) {
xmlWindow = window.open("download.ivml");
xmlWindow.document.write(xml);
xmlWindow.focus();
},
error: function(request) {
$("#webdiv").html(request.responseText);
}
});
});
};
重複:http://stackoverflow.com/questions/365777/starting-file-download-with-javascript – dragon