【发布时间】:2012-01-18 21:09:46
【问题描述】:
我有一个 HTML 表单,以前只用于用户的文本属性,都是使用 AJAX 通过 URL 调用 PHP 控制器函数,通过数据库和服务器端调用刷新页面内容(精简版)
<input type="text" id="firstname" name="FIRSTNAME"/>
<input type="text" id="lastname" name="LASTNAME"/>
<input name="Submit"type="submit" value="Submit" />
这个“创建用户”表单现在需要为用户图像合并一个文件上传机制
<input type="file" name="userImage" />
问题是表单是通过.serialize 在.ajax #create form submit 中提交的
$.ajax({
url: 'controller.php?command=create',
type: 'POST',
data: $( form ).serialize(),
create URL 调用 PHP 控制器 echo $dmv->create(); ,即模型 public function create(){ //execute database insert and execute
我已经读到序列化对文件没有意义,这是真的,但我也想弄清楚如何更新我现有的表单以将文件上传功能合并到其中
我试图理解 jquery.form.js 插件 (http://malsup.com/jquery/form/#file-upload) 但不明白如何将它们联系在一起。
我相信我需要做的是让文件上传作为单独的逻辑执行,然后与文件名的原始逻辑联系起来,这是文件存储,唯一的图像名称存储在记录下的数据库中,而不是BLOB 图像存储。
如果我可以提供任何进一步的信息,请告诉我,并感谢可以提供的任何帮助。
【问题讨论】:
-
您不能使用 ajax 调用上传。获得 ajax 感觉的唯一方法是使用框架提交文件 onchange。然后返回图像作为结果。
-
我知道如何使用 ajax 和 javascript 来做到这一点(我不知道 jquery)。这会有帮助吗?
-
是的。我想我对 php 处理文件上传感兴趣,但提交仍然处理其他表单值,之前或之后。我无法理解如何说 jquery 表单插件的结果一旦提交就可以使用,或者如何使用这些值完成文件上传
标签: php jquery ajax forms file-upload