2

我使用隐藏的 iframe 执行 ajax 上传文件工作,如下所示:

http://www.alfajango.com/blog/ajax-file-uploads-with-the-if​​rame-method/

<form target="upload-frame" method="post" action="/upload" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="upload">
</form>
<iframe name="upload-frame" src=""></iframe>

问题是,当上传成功时,iframe 收到响应并刷新,

我怎么知道它刷新了?是否有任何事件可以收听 iframe 内容更改?

4

1 回答 1

3

1)解决这个问题的一种方法是让服务器在文件成功上传后发送响应(假设 PHP):

echo '<script>parent.document.getElementById("feedback").innerHTML = "Success";</script>';

这只会将成功消息注入 iFrame 父级的 #feedback 容器。

2) 另一种方法是侦听 iFrame 的加载/加载事件并为其附加一个事件处理程序,该事件处理程序将读取 iFrame 的主体。这是该方法的一个示例:http: //viralpatel.net/blogs/ajax-style-file-uploading-using-hidden-iframe/

希望有帮助!

于 2013-03-02T04:26:55.750 回答