如何从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"}]
答案 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!
});
});