뷰
<form class="form-horizontal" method="post" action="">
<input type="text" name="search" id="search">
<button type="submit" class="btn btn-search_btn" id="search_btn">Submit</button>
</form>
<script>
$("#search_btn").click(function(){
alert("테스트 클릭 성공");
var search = $("#search").val();
$.ajax({
url : 'http://localhost/ci3_1/index.php?/Tutorial/search/',
type : 'POST',
dataType : 'json',.
success : function(data){
$ alert("테스트 클릭 성공1");
}
</script>
컨트롤러
public function search()
{
$search = $this->input->post('search');
print_r($search);
$this->load->helper('alert');
exit;
$this->load->model('Member_model');
$data['members'] = $this->Member_model->search($search);
// view 호출
$this->load->view('Tutorial/members', $data);
}
});
});
모델
function search($search) {
$this->load->database();
$sql = "select content from items where content like '%".$search."%';";
$query = $this -> db -> query($sql);
$result = $query -> row();
print_r($result);
return $result;
}
이렇게 ajax로 했는데 아무 이벤트도 일어나지 않습니다 ㅠ
뷰에서 post로 컨트롤러에서 받아 모델의 쿼리를 실행해 값을 리턴받아 다시 리스트에 뿌려주려고 합니다.
검색기능을 만드는 중인데 버튼을 눌러도 컨트롤러까지 가질 않습니다.
어디가 문제일까요??..
버튼을 눌렀는데 네트워크탭에 안뜨면 ajax가 작동을 안했다는 의미입니다.
소스를 다시 보니 서브미트에 거셨는데 저렇게 되면 form submit가 작동됩니다.
스크립트 실행 보장이 없습니다.
추가로 $alert() 로 되있는데 alert()입니다.