次の JQuery コードを使用しています。
$.download = function(url, data, method){
//url and data options required
if( url && data ){
//data can be string of parameters or array/object
data = typeof data == 'string' ? data : $.param(data);
//split params into form inputs
var inputs = '';
$.each(data.split('&'), function(){
var pair = this.split('=');
inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
});
//send request
$('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
.appendTo('body').submit().remove();
};
};
そして、ダウンロードが開始されるたびに、私は発砲しています
$.download(options);
サーバーの応答は、適切な content-type ヘッダー (Word など) で行われます。
送信されたフォームを DOM から削除するのを忘れていませんか?