저는 AJAX를 배우고 있으며 NETTUTS Codeigniter에서 스크립트를 빌려 왔습니다. AJAX 스크립트 자체는 내 양식에 맞게 완벽하게 작동하지만 컨트롤러 당 데이터베이스는 업데이트되지 않습니다. Firebug는이 게시물이 AJAX 스크립트에서 잘 진행되었다고 말합니다. 제 질문은 컨트롤러를 시작하지 못하는 이유와 위치는 어디입니까?AJAX가 Codeigniter 컨트롤러와 짝을 이루지 않습니다
form_open 스크립트
echo form_open('contacts/entry', $form);
아약스 스크립트 (즉 잘 작동 내가 무엇을 보여주는하고 위의 확인 스크립트가)
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"을 포함했다
참고 form_data
에 컨트롤러
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();
}
}
}
는 "만약 ($ this-> 입력 -> 포스트 ('아약스'))"의 사용이다 컨트롤러를 시작하는 올바른 방법? jquery없이 폼 자체가 잘 작동하고 컨트롤러를 실행합니다. 그래서 저는 두 개의 개별 조각이 작동한다는 것을 알고 있습니다, 그들은 단지 메시가 아닙니다. 감사
그래, 근본적으로 내가 제안한 건 + XMLHttpRequest를 확인했기 때문이다. – jondavidjohn
을 검사하고 (data === true)가 중복되는지 확인하고, 기본적으로 참인지를 검사합니다. – jondavidjohn
@ jondavidjohn : 고마워요! 나는 그것을 편집한다! :) 나는 같은 함수에서 아약스와 http도 처리 할 수있는 함수를 추가했다. – ipalaus