首先我想问你不建议我求助于一个 jQuery 插件来解决我的问题。我只是不愿意让我的应用程序与插件一起工作(它阻止我学习!)
我有一个包含一堆字段的表单,我通过使用 jQuery 传递给我的后端$.post()
这就是我的 jQuery 函数:
$.post(
"/item/edit",
$("#form").serialize(),
function(responseJSON) {
console.log(responseJSON);
},
"html"
);
这就是我打开表单的方式:
<form action="http://localhost/item/edit" method="post" accept-charset="utf-8" class="form-horizontal" enctype="multipart/form-data">
这是由 codeigniter 的form_open()
方法自动生成的(因此 action="" 有一个值。虽然这无关紧要,因为我在表单末尾没有提交按钮)
在我的#form
我有这个作为我的文件输入:<input type="file" name="pImage" />
当按下适当的按钮并$.post()
调用该方法时,我的后端只需像这样打印变量:print_r($_POST)
并且在打印的变量中缺少“pImage”元素。我认为文件可能不会作为数组中的元素出现,所以我继续尝试使用此 codeigniter 函数上传文件:$this->upload->do_upload('pImage');
我收到错误消息:“您没有选择要上传的文件。”
关于如何克服这个问题的任何想法?