追加した
<script type="text/javasript" src="<?=base_url()?>js/jquery-1.7.2.min.js"></script>
application / views / templates / header.phpにあり、私が書いたjQueryを使用してコントローラーにデータを投稿する
<script>
$(document).ready(function(){
$('#submit').click(function() {
$.ajax({
type : 'POST',
url : '/projects/create',
data: {
pro_name : $('#pro_name').val()
},
success:function (data) {
$("#log_msg").html(data);
}
});
});
});
</script>
私のビューファイル:application / views / project / create.phpで、コントローラーはapplication / controllers/projects.phpに存在します
create.phpという名前の私のビューでは、完全なコードは次のとおりです。
<label for="pro_name">Project Name</label>
<input type="input" id="pro_name" name="pro_name" />
<br />
<input type="submit" id="submit" name="submit" value="Create" />
<script>
$(document).ready(function(){
$('#submit').click(function() {
$.ajax({
type : 'POST',
url : '/projects/create',
data: {
email : $('#pro_name').val()
},
success:function (data) {
$("#log_msg").html(data);
}
});
});
});
</script>
プロジェクトという名前のコントローラーには
class Projects extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('projects_model');
$this->load->helper('url');
$this->load->helper('html');
$this->load->helper('form');
$this->load->library('form_validation');
}
public function create()
{
echo $this->input->post('pro_name');
$data['title'] = 'SPARCS | Create Project';
$this->form_validation->set_rules('pro_name', 'Name', 'required');
$this->form_validation->set_rules('pro_client', 'Client', 'required');
$this->form_validation->set_rules('pro_loc_city', 'City', 'required');
$this->form_validation->set_rules('pro_loc_state', 'State', 'required');
$this->form_validation->set_rules('pro_size', 'Project Size', 'required');
$this->form_validation->set_rules('pro_desc', 'Description', 'required');
if ($this->form_validation->run() === FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('projects/create');
$this->load->view('templates/footer');
}
else
{
// If project name already exists?
$query = $this->projects_model->if_exists($this->input->post('pro_name'));
if ( sizeof($query) == 0) {
//$this->projects_model->set_project();
$data['message'] = 'Add successfully';
} else {
$data['message'] = 'Project name already exists';
}
$this->load->view('projects/log_message', $data);
}
}
}
しかし、ブラウザは言う$ is not defined
ここで、 CodeIgniterでjQueryを設定する方法と、データをコントローラーに渡し、コントローラーから返される応答を表示する正しい方法を教えてください