从johnculviner / jquery.fileDownload获取text / html响应

时间:2016-03-03 18:42:17

标签: jquery download

如何从johnculviner / jquery.fileDownload请求中获取text / html响应?

这是我的代码,当后端的每件事情都正常时效果很好:

var c = new Date().getTime();
params.cookieName = c;
var op = {
    cookieName: c.toString(),
    cookiePath: '/' + context + '/',
    preparingMessageHtml: messageSuccess,
    failMessageHtml: messageError,
    data: params,
    successCallback: function(url) {
        // ????? Can I get my response Here?????
        if (functionSuccess) {
            functionSuccess();
        }
    },
    failCallback: function(responseHtml, url) {
        if (responseHtml) {
        //Error code...
        };
    }
};
$.fileDownload(url, op);

我可以在successCallback函数中获取文本响应吗?我在哪里?

来自Java后端的我的响应标头包含:Content-Type:text/html; charset=ISO-8859-1 我的回答是:[{"error":"Error Message"}]

1 个答案:

答案 0 :(得分:0)

这是您有权访问的全部内容。这不是正在使用的AJAX(AJAX并不普遍支持启动文件下载)。如果响应成功恢复(文件下载已启动),您将无法访问标题或Cookie以外的任何内容。如果您想通过成功启动的文件下载与客户端进行通信,请使用cookie(这是插件的工作方式)

$(function () {
    $(document).on("click", "a.fileDownloadCustomRichExperience", function () {

        var $preparingFileModal = $("#preparing-file-modal");

        $preparingFileModal.dialog({ modal: true });

        $.fileDownload($(this).prop('href'), {
            successCallback: function (url) {

                $preparingFileModal.dialog('close');
            },
            failCallback: function (responseHtml, url) {

                $preparingFileModal.dialog('close');
                $("#error-modal").dialog({ modal: true });
            }
        });
        return false; //this is critical to stop the click event which will trigger a normal file download!
    });
});