在不中断下载处理的情况下检查状态代码

时间:2016-12-09 20:45:06

标签: javascript jquery jsp download

我正在尝试通过隐藏的iframe元素下载文件。我还想检查错误代码返回时的响应,以便在文件准备失败时显示错误消息。以下代码就是我现在所拥有的。

var srcUrl = "/MyProject/servlet?action=getFile&output=STREAM&asAttachment=Y&param1=userinput1&param2=userinput2

$("#downloadFrame").load(
    srcUrl,
    function(response, status, xhr) {
        if (xhr.status == 204) {
            $("#errorDiv").html(xhr.statusText);
        }
    }
);

当响应返回错误代码时,它会显示预期的错误消息。但是,当文件准备好并正确返回时,它不会保存返回的字节流。此代码将下载该文件,但它也不会检查状态代码。

 $("#downloadFrame").attr("srcUrl", params);

可能感兴趣的是,这是一个jsp页面向Tomcat 6.0上运行的java servlet发出请求。

1 个答案:

答案 0 :(得分:0)

尝试为下载成功添加操作?

        let srcUrl = "/MyProject/servlet?action=getFile&output=STREAM&asAttachment=Y&param1=userinput1&param2=userinput2

        $("#downloadFrame").load(
            srcUrl,
            function(response, status, xhr) {
                if (xhr.status == 204) {
                    $("#errorDiv").html(xhr.statusText);
                }
                if (xhr.status == 200 & xhr.readyState == 4) {
                    $("#successDiv").html(xhr.statusText); //xhr.(what you need to save)
                }
            }
        );
相关问题