使用隐藏的ajax上传文件时,如何检测iframe接收响应

时间:2013-03-02 04:02:09

标签: ajax iframe upload

我使用隐藏的iframe做一个像这样的ajax上传文件:

http://www.alfajango.com/blog/ajax-file-uploads-with-the-iframe-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内容更改?

1 个答案:

答案 0 :(得分:3)

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

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

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

2)另一种方法是收听iFrame的load / onload事件并将一个eventhandler附加到它上面,它将读取iFrame的主体。以下是该方法的示例:http://viralpatel.net/blogs/ajax-style-file-uploading-using-hidden-iframe/

希望有所帮助!