【发布时间】:2009-05-18 18:40:22
【问题描述】:
我需要发布一个包含个人详细信息的表单,我需要上传一个附件文件,我还需要使用 AJAX 来实现这一点。
如何使用 AJAX 上传文件,我需要发布个人详细信息并同时使用 AJAX 上传文件,我该怎么做?
【问题讨论】:
我需要发布一个包含个人详细信息的表单,我需要上传一个附件文件,我还需要使用 AJAX 来实现这一点。
如何使用 AJAX 上传文件,我需要发布个人详细信息并同时使用 AJAX 上传文件,我该怎么做?
【问题讨论】:
您无法使用 AJAX 上传文件,因为您无法执行多部分编码请求 - 这是 XMLHttpRequest API 的限制。
解决方法通常涉及使用作为表单目标的 IFRAME,该表单将实际文件上传处理为整个表单的单独子流程。然后,在 IFRAME 中加载的响应与上传文件的相关信息返回到父/调用页面中的 DOM。
【讨论】:
如果你在页面上添加隐藏的 iframe
<iframe name="iframe1" ... />
然后将表单上的目标更改为发布到 iframe
<Form traget="iframe1" ...>...</form>
您可以将数据上传并发布到页面。您还可以使用 javascript (JQuery) 来挂钩 iframe 的事件。
要获得上传进度表,请使用 php uploadprogress 模块。效果很好! http://pecl.php.net/package/uploadprogress 和 http://bluga.net/projects/uploadProgressMeter/
这是我发现的一个可能有帮助的链接: http://www.finalwebsites.com/forums/topic/php-ajax-upload-example
【讨论】: