Как ДОБАВИТЬ данные из CRUD ajax в php codeigniter?

Я хочу добавить обновление и удалить данные в таблице ниже. Удаление работает. Но у меня проблема с добавлением данных с помощью CRUD Как ДОБАВИТЬ данные из CRUD ajax в php codeigniter?

Вот контроллер. Я добавляю данные в две таблицы соединения, родительскую и студенческую, используя единую форму одним нажатием кнопки.

    public function register_students()
{

    // $this->load->model('Register_model','multi_model',TRUE);
    $encrypted_password1 = $this->encrypt->encode($this->input->post('p_pwd'));

    $parent_data = array(

        'parent_code' => $this->input->post('parent_code'),
        'f_name' => $this->input->post('p_first_name'),
        'l_name' => $this->input->post('p_last_name'),
        'DOB' => $this->input->post('p_dob'),
        'address' => $this->input->post('p_address'),
        'tel' => $this->input->post('p_tel_no'),
        'email' => $this->input->post('email'),
        'username' => $this->input->post('p_username'),
        'password' => $encrypted_password1,
    );



     $id = $this->Model_Action->insertTable('parent',$parent_data);




    $encrypted_password = $this->encrypt->encode($this->input->post('pwd'));
    $student_data = array(
        's_id' => '',
        'student_code' => $this->input->post('student_code'),
        'f_name' => $this->input->post('first_name'),
        'l_name' => $this->input->post('last_name'),
        'DOB' => $this->input->post('dob'),
        'gender' => $this->input->post('gender'),
        'address' => $this->input->post('address'),
        'tel' => $this->input->post('tel_no'),
        'username' => $this->input->post('username'),
        'password' => $encrypted_password,
        'p_id' => $id


    );
    $insert = $this->Model_Action->insertTable('student',$student_data);

    echo json_encode(array("status" => TRUE));

    redirect('student');


}

Вот моя модель

 function insertTable($table, $data) {
    $this->db->insert($table, $data);
    return $this->db->insert_id();
}

Это мое мнение - раздел javascript. Я удалил функцию редактирования и функцию удаления в этом разделе.

<script type = "text/javascript">


 $(document).ready( function () {
      $('#student_table').DataTable();
  } );
    var save_method; 
    var table;



function add_book()
{
  save_method = 'add';
  $('#form')[0].reset(); 
  $('#modal_form').modal('show'); 
}


function save()
{
  var url;
  if (save_method == 'add')
  {
    url = "<?php echo site_url('/Student/register_students')?>";
  }
  else
  {
    url = "<?php echo site_url('/Student/student_update')?>";
  }

   // ajax adding data to database
      $.ajax({
        url : url,
        type: "POST",
        data: $('#form').serialize(),
        dataType: "JSON",
        success: function(data)
        {
           //if success close modal and reload ajax table
           $('#modal_form').modal('hide');
          location.reload();// for reload a page
        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            alert('Error adding / update data');
        }
    });
}

Я использовал модель начальной загрузки для добавления и обновления форм, и они также работают нормально.

Вы проверили, получили ли вы какие-либо $ данные? Вы проверяли, соответствуют ли столбцы базы данных ключам массива $data? И что говорит консоль вашего браузера?

Vickel 24.02.2019 18:26

да, потому что я пытался добавить данные без ajax (используя метод действия формы), и это сработало.

deeva 24.02.2019 18:55
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
2
521
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как я вижу, вы используете перенаправить('студент'); для вызова ajax. Не делайте этого, если хотите работать с ajax. Я советую тебе:

$array = array(
    'link' => 'strudent',
    'status' => true
);

echo json_encode($array);
return;

И об успехе ajax:

window.location.href = data.link;

Спасибо, теперь я могу обновить, но мне нужно перезагрузить страницу. и когда я нажимаю кнопку «Сохранить», отображается ошибка «Ошибка добавления/обновления данных». Но данные обновляются.

deeva 25.02.2019 20:59

Ваш ответ очень полезен, надеюсь, вы тоже поможете мне решить эту проблему. :)

deeva 25.02.2019 21:01

Может быть, у вас есть проблема с URL-адресом, который вы называете ajax??

ucoder92 26.02.2019 10:10

Спасибо, я нашел ошибку, я взял только данные одной таблицы для представления таблицы ajax. Поэтому я написал запрос на соединение. теперь все работает. Спасибо за помощь :)

deeva 26.02.2019 13:01

Рад помочь :)

ucoder92 26.02.2019 16:31

Другие вопросы по теме