所以我有一些表单处理代码处理标准文本输入和上传文件(通过$ _FILES数组)
我希望通过AJAX完成提交
请问jQuery的帖子()。方法仍然通过 - > $ _FILES还是我需要做一些特别的事情?
答案 0 :(得分:1)
Ajax(使用JavaScript定义)无法执行文件上传,因为JavaScript无法访问本地文件系统。有一些似乎使用Ajax的解决方法,例如iframe或使用Flash。
在谷歌周围寻找,你会找到一些东西。有更多的库(例如YUI)将它们组合在一起。
答案 1 :(得分:0)
要通过Ajax上传文件,您需要使用iframe或Flash。
我推荐你Uploadify,它使用flash进行上传,并使用jQuery。我喜欢它有很多设置的事实,并且它为队列处理提供了一个很好的默认样式。只需按照说明在您的网站中进行设置即可。
在PHP脚本中,您将收到$ _FILES数组中的文件,就像通过表单正常提交一样,默认名称为'Filedata',因此您可以通过$ _FILES ['访问您的文件FILEDATA“。然后只需回显Ajax请求(JSON或XML)的响应,并为Uploadify'onComplete'事件执行一些JS代码。
答案 2 :(得分:0)
您可以尝试使用HTML 5的文件上传API,这需要将文件拖放到浏览器窗口中。在此处阅读更多内容:http://www.appelsiini.net/2009/10/html5-drag-and-drop-multiple-file-upload
此外,您可以使用Google Gears执行相同操作(需要安装IE,但默认情况下为Chrome)。
可以检测其中任何一个的存在并优雅地降级。