Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在codeigniter中使用ajax上传文件和其他字段数据_Javascript_Ajax_Codeigniter - Fatal编程技术网

Javascript 在codeigniter中使用ajax上传文件和其他字段数据

Javascript 在codeigniter中使用ajax上传文件和其他字段数据,javascript,ajax,codeigniter,Javascript,Ajax,Codeigniter,我想上传文件和其他字段数据,但所有其他数据都会发布,但如何通过ajax将文件发布到控制器 我的视图文件 <form method="post"action=""id="meetingform"enctype="multipart/form-data" > <label for="inputEmail4">Meeting Date</label>

我想上传文件和其他字段数据,但所有其他数据都会发布,但如何通过ajax将文件发布到控制器

我的视图文件

 <form  method="post"action=""id="meetingform"enctype="multipart/form-data" >                                               
    <label for="inputEmail4">Meeting Date</label>                                                    
    <input type="text" id="date" name="meetingdate">                                                      
    <label for="inputEmail2" >Subject</label>                                                    
    <input type="text" id="subjectt" name="subject"  placeholder="Subject">                                                        
    <input type="hidden" name="meetingevent" value="Meeting"/>                                               
    <label for="inputEmail2" >Venue</label>                                                    
    <input type="text" id="venuee" name="venue"   placeholder="Venue" >                                                        
    <label for="inputEmail2" >Description</label>                                                    
    <textarea name="description" id="desc" placeholder="Description" >
    </textarea>                                                        
    <label for="inputEmail2" >MOM</label>                                                    
    <input type="text" id="momm" name="mom" placeholder="MOM" >                                                                                        
    <input type="file" name="photo" id="photo">                                                
    <input type="file" name="document" id="documents">                                                        
    <button  type="button" id="submit"> </button>                                                    
 </form>

如何在此处上载文件和其他存档数据?

请检查下面提到的解决方案,这将帮助您发送包含输入数据的文件

var myFormData=new FormData();
$(文档)。在(“单击”,“按钮”,功能(e){
e、 预防默认值();
变量输入=$(“#我的表单输入[type=“file”]”);
$。每个(输入、功能(obj、v){
var file=v.files[0];
var filename=$(v).attr(“数据文件名”);
变量名称=$(v).attr(“id”);
追加(名称、文件、文件名);
});
变量输入=$(“#我的表格输入[type=“text”]”);
$。每个(输入、功能(obj、v){
变量名称=$(v).attr(“id”);
var值=$(v).val();
追加(名称、值);
});
var xhr=新的XMLHttpRequest;
open('POST','/echo/html/',true);
发送(myFormData);
});

点击

我很确定您可以通过创建json对象来实现。您好,萨加尔,您能帮助我如何使用jsonHi实现吗。非常抱歉没有正确阅读代码。我错过了
.serialize()
函数。请查看这篇文章以获得帮助-这也可能有帮助-看看如果简单搜索google“Ajax Upload Codeigniter”,您将获得大量的解决方案和教程以及代码。检查本教程,也许您可以解决您的问题。或
     <script>  
        $(document).ready(function () {
            $("#submit").click(function (e) {  

                $.ajax({
                    url: '<?php echo site_url() ?>admin/meeting_form',
                    type: 'POST',
                    fileElementId   :'photos',
                    data: $("#meetingform").serialize(),
                    success: function () {
               $('#msg').html('<span style="color:green;align:center;">Data 
                  Posted.</span>');
                        $('#date').val('');
                        $('#subjectt').val('');
                        $('#venuee').val('');
                        $('#desc').val('');
                        $('#momm').val('');
                        $('#photo').val('');
                        $("#msg").delay(3000).fadeOut();
                    },
                    error: function () {
                $('#msg').html('<span style="color:red;">Data didnot post .
                           </span>');
                    }
                });
            });
        });

    </script>
public function meeting_form() {
    $session_data = $this->session->userdata('admin_logged_in');
    $id = $session_data['id'];
    if ($session_data) {
        $this->form_validation->set_rules('meetingdate', 'Meeting Date', 
                 'required');
        $this->form_validation->set_rules('subject', 'Subject', 'required');
        $this->form_validation->set_rules('venue', 'Venue', 'required');
        $this->form_validation->set_rules('description', 'Description','required');
        $this->form_validation->set_rules('mom', 'MOM', 'required');
        if ($this->form_validation->run() == false) 
        {
            $this->load->view('project_monnetering');
        }
        else 
        {
            $data = array('event_date' => date('y-m-d', strtotime($this-
            >input->post('meetingdate'))), 'event_type' => $this->input-
            >post('meetingevent'), 'user_id' => $id,
                'post_description' => $this->input->post('description'));
            $last_id = $this->admin_model->insert_event_master($data);
            $data1 = array('meeting_date' => date('y-m-d', strtotime($this-
           >input->post('meetingdate'))), 'event_id' => $last_id, 'subject' 
               => $this->input->post('subject'),
                'venue' => $this->input->post('venue'), 'brief_desc' => 
             $this->input->post('description'), 'mom' => $this->input-
             >post('mom'));
            $this->admin_model->insert_meeting_details($data1);
            redirect('admin/project_monnetering', 'refresh');
        }
    } else {
        $this->load->view('login');
    }
}