Ich habe ein Formular mit Textfeldern und einem Datei-Upload. Wenn Benutzer auf die Schaltfläche klicken. Die Textfeld Werte und Datei Upload-Name ist in der Datenbank gespeichert und die Dateien werden auf den Server hochgeladen. Ich habe keine Erfahrung mit AJAX. Also, jede Hilfe wird sehr geschätzt.Wie lade ich Dateien mit AJAX in CodeIgniter 3.0 hoch?
Das ist meine Form:
<form enctype="multipart/form-data" accept-charset="utf-8" name="f_complaint" id="f_complaint">
<input type="text" name="i_complaint" id="id_complaint" class="cl_complaint" />
<input type="file" name="i_file" id="id_file" class="cl_file" />
<input type="button" id="btn_upl" value="Save your complaint" class="btn btn-primary" />
</form>
Das ist mein AJAX ist:
<script src="<?php echo base_url('assets/inspinia/js/jquery-2.1.1.js'); ?>"></script>
<script src="<?php echo base_url('assets/jquery-ui/jquery-ui.js'); ?>"></script>
<script type="text/javascript">
$(document).ready(function() {
var url = "<?php print base_url(); ?>complaint/saveadd";
$('#btn_upl').on('click', function() {
var formData = new FormData($(this).parent('form')[0]);
//alert(url);
$.ajax({
url : url,
type : 'POST',
data : formData,
success : function (returndata) {
alert(returndata);
}
});
});
});
</script>
Dies ist mein Controller:
public function saveadd() {
$config['upload_path'] = FCPATH."assets/uploads/";
$config['max_size'] = '307200';
$config['file_name'] = "FILE - ".$_FILES['i_file']['name'];;
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
$this->upload->initialize($config);
if (! $this->upload->do_upload('i_file')) {
//return false;
redirect('app/');
} else {
redirect('complaint/add');
}
}
Was im Code falsch? Selbst der Alarm wird nicht ausgelöst. Ich möchte keine Plugins verwenden
irgendwelche Fehler in der Konsole? Diese URL sieht nicht korrekt aus. Soweit ich weiß, benötigt sie einen vollständigen Pfad. –
@SergioAlen keine Fehler – Shota
Ich benutze die gleiche URL in einem anderen Projekt (auch mit Upload-Dateien, aber nicht mit Ajax) und es funktioniert gut – Shota