使用jquery调用WebMethods / Web Service是阻塞的

时间:2010-04-06 00:00:59

标签: asp.net javascript progress-bar

我在服务器上生成一个文件需要一些时间。为此,我有一个隐藏的iframe然后我将.src属性设置为一个aspx文件,即iframe.src =“/ downloadFile.aspx”

当这种情况发生时,我想要一个Web服务调用返回进度。为此,我想我可以使用window.setInterval或window.setTimeout,但是一旦设置了iframe src属性,Javascript就会被阻止。

有谁知道如何解决这个问题,或者尝试不同的方法?

我也尝试过处理程序,但请求永远不会到达服务器,所以我假设是浏览器/ javascript问题。

//获取文件的函数

function GetFile() {
        setTimeout(GetProgress, 1000);

        var iframe = document.createElement("iframe");
        document.body.appendChild(iframe);

        iframe.src = "downloadFile.aspx";
}

/ *不工作 - 获取进度的功能会发布数据,但在iframe完成之前永远不会收到它,并向用户显示文件下载对话框。 * /

function GetProgress() {

        $.post('progress.file', function(data) {

            console.log(data);
            setTimeout(GetProgress, 1000);
        });
    }

2 个答案:

答案 0 :(得分:0)

不确定你在做什么,但也尝试将你的iframe.src = ...代码放在window.setTimeout中。

答案 1 :(得分:0)