Codeigniter で ajax 連絡フォームを実装しています。私の問題が何であるかを理解できないようです。Firebug を使用してスクリプトを実行すると、jquery.min.js に POST エラーが発生しますが、これはあまり意味がないようです。たぶん、私が見逃している構文エラーがありますか?
ここに私のajax JSがあります:
$(document).ready(function() {
//Ajax contact form
$('#submit').click(function() {
var form_data = {
first_name : $('.first_name').val(),
last_name : $('.last_name').val(),
email : $('.email').val(),
message : $('.message').val(),
ajax : '1'
};
$.ajax({
type : 'POST',
url : "http://localhost/web/hfs/home/contact",
async : false,
data : form_data,
success : function(msg) {
$('#left-container.thankyou').html(msg);
}
});
// end ajax
return false;
});
});
そして、ここに私のコントローラ関数があります:
public function contact() {
if ($this -> input -> post('ajax') == '1') {
$this -> form_validation -> set_rules('first_name', 'First Name', 'required|min_length[1]');
$this -> form_validation -> set_rules('last_name', 'Last Name', 'required|min_length[1]');
$this -> form_validation -> set_rules('email', 'Email', 'required|valid_email');
$this -> form_validation -> set_rules('message', 'Message', 'required|min_length[5]');
$this->form_validation->set_message('required', 'Please fill in the fields');
if ($this -> form_validation -> run() == FALSE) {
echo validation_errors();
} else {
echo "Thanks for contacting!";
}
}
}