Загрузка файла JQuery с помощью Ajax

Я использую отличный плагин fileDownload Джона Калвинера для создания сообщения «пожалуйста, подождите», когда мой пользователь решит сгенерировать отчет.

Когда пользователь щелкает ссылку, я отправляю ajax-запрос на мой PHP, который создает PDF-файл на сервере. В этот момент я пытаюсь обновить ссылку в своем обработчике успеха для плагина fileDownload.

Возможно, я ошибаюсь, но вот мой код — буду признателен за любую помощь.

$("body").on("click","##pdfLink", function(e){

    $.fileDownload($(this).attr('href'), {
        preparingMessageHtml: "Preparing your report, please wait...",
        failMessageHtml: "There was a problem generating your report, please try again."
    });

    // Build our data string.
    var strData = {method: "createPDF"};

    // Send a request to build our XL file.
    $.ajax({
        url: '/pdf.php',
        data: strData,
        type: 'get',
        dataType: 'json',
        success: function(data) {
            alert(data);
            $("##pdfLink").attr("href","/pdf/"+data);
        },
        error: function(e) {
            console.log(e);
        }
    });
    return false; 
    e.preventDefault(); 
})

На данный момент, когда я нажимаю на ссылку, модальное окно отображается правильно с сообщением «Подождите». Мой файл создается на сервере (подтверждено моим предупреждением в моем обработчике успеха), и мой HREF обновляется. Однако плагин не предлагает пользователю загрузить его.

Спасибо!

5
задан Jason Wells 22 June 2012 в 19:40
поделиться