Я изучаю AJAX и позаимствовал скрипт из NETTUTS Codeigniter у Scratch: AJAX
Сам сценарий работает идеально, как адаптированный к моей форме, однако он не обновляет базу данных для контроллера. Firebug говорит, что сообщение прошло хорошо из сценария AJAX. Наверное, мой вопрос: как и где мне не удается запустить контроллер?
Скрипт form_open
echo form_open('contacts/entry', $form);
Ajax-скрипт (выше того, что я показываю, есть скрипт проверки, который работает нормально)
var form_data = {
fname: $('#fname').val(),
lname: $('#lname').val(),
email: $('#email').val(),
phone: $('#phone').val(),
relate: $('#relate').val(),
ajax: '1'
};
$.ajax({
url: "<?php echo site_url('contacts/entry'); ?>",
type: 'POST',
data: 'form_data',
success: function() {
$('#status').text('Update successful!');
}
});
return false;
});
Обратите внимание, что я включил "AJAX: 1" в данные формы
Контроллер
function entry()
{
if ($this->input->post('ajax')) {
$data = array
(
'fname' => $this->input->post('fname'),
'lname' => $this->input->post('lname'),
'email' => $this->input->post('email'),
'phone' => $this->input->post('phone'),
'relate' => $this->input->post('relate'),
);
//removed validation set rules to shorten the question
if ($this->form_validation->run() == TRUE)
{
$this->db->insert('contacts', $data);
$this->index();
} else
{
$this->index();
}
}
}
Является ли использование "if ($ this-> input-> post ('ajax'))" правильным способом для запуска контроллера? Без jquery форма отлично работает сама по себе и запускает контроллер. Итак, я знаю, что две отдельные части работают, они просто не связаны. Спасибо