Я использую следующий код 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);
Ответ сервера - с правильными заголовками типа контента (например, Word).
Может быть, вы забыли удалить отправленную форму из DOM?