0
的文件和常见数据尝试使用Codeigniter和Ajax从表单上载图像。我创建了一个表格结构:格式为
<?php
$config = array('class' => "small-12 columns no-left-margins",'id'=>"form_$i", 'enctype'=>"multipart/form-data");
echo form_open_multipart('', $config);
?>
<!-- file, text, and text area inputs -->
<?php
echo form_close();
?>
<a href="#" class="button tiny right" id="submit" value="upload">Guardar</a>
Ajax请求是:
$("form").submit(function(e){
e.preventDefault();
var datos = $(this).serializeArray();
$.ajax({
url: 'guardarNuevoProducto',
type: 'POST',
data: datos
});
});
而控制器动作的代码是:
// uploadPicture_rules is the index of the $config array that contains the picture //validation rules
$picRules = $this->config->item('uploadPicture_rules');
$this->load->library('upload', $picRules);
if(!$this->upload->do_upload()){
echo json_encode(array('st'=>0, 'msg' => $this->upload->display_errors()));
}else{
echo json_encode(array('st'=>0, 'msg' => 'Successfully Submiited'));
}
而且有下一个文件上传验证规则:
$config['uploadPicture_rules'] = Array(
'allowed_types' => 'gif|jpg|png',
'max_size' =>'100',
'upload_path' => '/assets'
);
Al L型值核对无误,但file_uploader说:
{ “ST”:0, “味精”: “你没有选择要上传的文件。”}
任何想法? 。我有一个错误的祝贺?
感谢回复,我做了改变,但Ajax请求返回相同的错误。 – ramiromd
http://stackoverflow.com/questions/2320069/jquery-ajax-file-upload可能有帮助 –