У меня проблема с функцией ajax.Я хочу загрузить файл CSV и отправить его в базу данных.Когда я отправляю его, он входит в функцию до «импорта» и ничего больше ... Я блокировал уже довольно давно, поэтому я надеюсь, что вы мне поможете.
это функция, на мой взгляд:
<script>
$(document).ready(function(){
$('#import_csv').on('submit', function(event){
event.preventDefault();
$.ajax({
url:"<?php echo base_url(); ?>Controller_diseaseTree/import",
method:"POST",
data:new FormData(this),
contentType:false,
cache:false,
processData:false,
beforeSend:function(){
$('#import_csv_btn').html('Importing...');
},
success:function(data)
{
$('#import_csv')[0].reset();
$('#import_csv_btn').attr('disabled', false);
$('#import_csv_btn').html('Import Done');
}
})
});
});
</script>
Модель здесь:
<?php
class csv_import_model extends CI_Model
{
public function __construct(){
$this->load->database();
}
function insert($data)
{
$this->db->insert_batch('durian_database.disease_tree', $data);
}
}
Контроллер здесь:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Controller_diseaseTree extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->helper('url');
$this->load->model('diseaseTree_model');
$this->load->model('typeOfDisease_model');
$this->load->model('csv_import_model');
$this->load->library('csvimport');
}
public function index()
{
if ($this->session->userdata('login') != FALSE){
$data['navbar'] = 'user_navbar.php';
} else {
$data['navbar'] = 'navbar.php';
}
$login = $this->session->userdata('login');
$this->load->vars($data);
$diseaseTree_all = $this->diseaseTree_model->get_diseaseTree($login);
$this->load->view('diseaseTree', compact('diseaseTree_all'));
}
public function TypeOfDisease(){
if ($this->session->userdata('login') != FALSE){
$data['navbar'] = 'user_navbar.php';
} else {
$data['navbar'] = 'navbar.php';
}
$this->load->vars($data);
$TypeOfDisease = $this->typeOfDisease_model->get_TypeOfDisease();
$this->load->view('typeOfDisease', compact('TypeOfDisease'));
}
public function delete_tree($tree_id)
{
$this->diseaseTree_model->delete_tree($tree_id, $this->session->userdata('login'));
redirect("Controller_diseaseTree", "refresh");
}
function import()
{
if ($this->session->userdata('login') != FALSE){
$data['navbar'] = 'user_navbar.php';
} else {
$data['navbar'] = 'navbar.php';
}
$file_data = $this->csvimport->get_array($_FILES["csv_file"]["tmp_name"]);
foreach($file_data as $row)
{
$data[] = array(
'user_login' => $row["user_login"],
'tree_number' => $row["tree_number"],
'longitude' => $row["longitude"],
'latitude' => $row["latitude"],
'area' => $row["area"]
);
}
$this->load->vars($data);
$this->csv_import_model->insert($data);
}
}
?>