我在javascript中有以下下载请求:
var exportWindow = window.open('Download.ashx?source=1', '');
exportWindow.onload = function() {
alert('finished');
};
我的问题是上面的警告框没有出现。 download.ashx设置了以下响应(将保存为csv文件),该工作正常。
context.Response.ClearContent();
context.Response.ContentType = "application/text";
context.Response.AddHeader("content-disposition", "attachment; filename=\"" + fileName + "\"");
context.Response.Write(resultWriter.ToString());
context.Response.Flush();
context.Response.Close();
如果我用正常的aspx页面替换download.ashx,则会出现警告。 所以我的问题是:当dowload.ashx以响应返回时,是否可以以编程方式知道? (使用FF3)
提前致谢, 盖佐
答案 0 :(得分:0)
使用firebug - 并使用console.log跟踪正在发生的事情 - 似乎它根本没有进入警报状态。在ie你可以使用firebug lite。您可能还需要使用窗口名称来定位它。
答案 1 :(得分:0)
我不相信你能做到这一点。
如果从内容类型的角度考虑,您正在加载类型为application/text
的页面,该页面没有定义DOM模型或API,因此您不能指望DOM方法和事件可用。至少这是我对情况的理解。
我以前在SO上看过这类问题,但我从来没有见过像你期待的那样简单的答案。