Javascript 在codeigniter中使用ajax上传文件和其他字段数据
我想上传文件和其他字段数据,但所有其他数据都会发布,但如何通过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>
<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');
}
}