Kha*_* TO 7 iframe jquery http onload http-headers
我正在开发一个支持Ajax的页面,我需要在不刷新页面的情况下下载文件.为此,我在页面上添加了一个隐藏的iframe.
<iframe id="iframeDownload" style="display:none"></iframe>
Run Code Online (Sandbox Code Playgroud)
当我需要下载文件时,我使用这样的脚本:
$("#iframeDownload").attr("src","url to server");
Run Code Online (Sandbox Code Playgroud)
在服务器端,我需要实现一些逻辑,它可能返回一些不同的http状态代码来指示服务器端的问题.如果文件下载成功,那就没关系.但是如果服务器端出现问题,我需要捕获这些http代码.
$("#iframeDownload").load(function(e){
// get http status code and act accordingly but I cannot get it
});
Run Code Online (Sandbox Code Playgroud)
谢谢你的回复.
更新: 在我看来,当我们通过iframe下载时,浏览器将处理发送请求和接收响应,并仅将响应主体传递给iframe.因此,javascript无法读取响应头.这种情况类似于加载页面.如果我错了,请纠正我.
我最近遇到了这个问题,我找到了一种处理加载错误的方法。我更改了默认的 Apache 错误页面,以插入一些代码,例如 JS parent.downloaderror_handler('put what you want');。
我还没有测试过,但也许你可以测试$_SERVER['HTTP_REFERER']仅在某些上下文中发送 JS。
请参阅此stackexchange 主题来创建您自己的 500 页面。
| 归档时间: |
|
| 查看次数: |
13293 次 |
| 最近记录: |