ทีนี้ ผมอยากสร้าง method check ให้ไปอยุ่ class อื่นแทน (ผมอยากให้ class main เอาไว้เรียกเฉพาะ view แต่ละ page)
Code (PHP)
class Main extends CI_Controller {
function construct() {
parent::__construct();
}
function sub(){
$this->load->view('a');
}
function check(){
blah blah
}
นี่หน้า view a ครับ ตรงส่วน jquery ajax
Code (PHP)
<script src='<?php echo asset_url();?>js/jquery.js'</script>
<script src='<?php echo asset_url()?>js/bootstrap.js'</script>
<script src='<?php echo asset_url()?>js/bootstrap.min.js'</script>
<script src='<?php echo asset_url()?>js/jquery-2.0.3.js'</script>
<script type="text/javascript">
$("#login").on('click',function(){
var user = $('#user').val();
var pass = $('#pass').val();
if((user !== "")||(pass !== "")){
$.ajax({
url:'check', <---------------ตรงนี้ครับ ผมอยากให้ชี้ไปที่ class อื่น ถ้าเรียกแบบนี้มันจะไปที่ class main ผมต้องการสร้าง method check ที่ class อื่นครับ
data:'user='+ user + '&pass=' + pass,
type:'post',
success: function(res){
if(res === 'Login Success'){
$('#check').html("<span class=\"label label-warning\">" + res + "</span>");
setTimeout(function(){window.location.href = 'menu' },2000); <-----------------แล้วก็ตรง method menu ครับ ถ้าสมมุติ method menu มันอยู่ที่ class อื่น จะเรียกยังไงครับ
}
if(res === 'Login Failed'){
$('#check').html("<span class=\"label label-warning\">" + res + "</span>");
}
},
error:function(){
$('#check').html("<span class=\"label label-warning\">Not Connect Database</span>");
}
});
}
});
</script>
</body>
</html>
อีกเรื่องนึงครับ ผมอยากทราบว่า การออกแบบที่ดีควรเป็นลักษณะไหนครับ เช่น class main ควรมี method อะไรบ้าง เพราะตอนนี้ ผมทำเป็น class เดียว รวมหลายๆ method ไว้เลย ซึ่งผมคิดว่า มันไม่เหมาะ พอดี เพิ่งมาศึกษาหน่ะครับ