我有一个网格,在显示的数据列表中,每行都有一个编辑操作。
因此,当编辑按钮按下弹出窗口时,我会想要更新数据并上传有关此选定行的图像。
数据已成功更新,但图片未保存在文件夹中。
代码我做了什么:
在ajax中,我在表单提交时序列化所有数据,但上传文件发布数据没有显示,所以我这样做 -
var mts = $('#userfile').val();
var formdata = $('form[name=data_popup]').serialize()+'&IMG_URI='+mts;
console.log(formdata);
HTML代码:
<form action="#" method="post" enctype="multipart/form-data" name="data_popup">
<input type="file" name="userfile">
</form>
Jquery代码:
function update_cat(){
var mts = $('#userfile').val();
var formdata = $('form[name=data_popup]').serialize()+'&IMG_URI='+mts;
console.log(formdata);
$.ajax({
url: '<?=$this->config->base_url()?>admin_panel/update_data/',
type: 'post',
data: formdata
}).done(function(data) {
console.log(data);
});
}
Codeigniter型号代码:
$this->load->library('upload');
$config['upload_path'] = "./application/assets/images/logo";
$config['allowed_types'] = "gif|jpg|png|jpeg";
$config['file_name'] = date('dmYHis');
$this->upload->initialize($config);
$this->load->library('upload', $config);
$this->upload->do_upload('userfile');
$data_upload_files = $this->upload->data();
$image = $data_upload_files[file_name];
答案 0 :(得分:0)
使用FormData进行ajax上传
$tocity=$_POST['tocity'];
$res=mysql_query("SELECT Route FROM routes where $tocity IN('City1','City2','City3','City4','City5','City6','City7','City8','City9','City10')");
while($result=mysql_fetch_array($res)){
echo $result['Route'];
}
答案 1 :(得分:0)
这应该适合你。
HTML
<form action="#" method="post" enctype="multipart/form-data" name="data_popup">
<input type="file" name="userfile" id="userfile">
</form>
JavaScript
function update_cat(){
var formData = new FormData();
var mts = $('#userfile').get(0).files[0];
formData.append('userfile', mts);
$.ajax({
url: '<?=$this->config->base_url()?>admin_panel/update_data/',
method: 'post',
data: formdata,
processData: false,
cache: false,
contentType: false
}).done(function(data) {
console.log(data);
});
}
PHP
<?php
$this->load->library('upload');
$config['upload_path'] = "./application/assets/images/logo";
$config['allowed_types'] = "gif|jpg|png|jpeg";
$config['file_name'] = date('dmYHis');
$this->upload->initialize($config);
$this->upload->do_upload('userfile');
$data_upload_files = $this->upload->data();
$image = $data_upload_files['file_name'];
注意:我在PHP部分没有做太多工作,因为我没有完全理解你想要对文件做什么。
还要确保以某种方式调用javaScript函数。