2014-12-25 56 views
-1

我的jQuery代码中是否有任何问题?我看了一篇教程,但是在我的教程中它不起作用。当我点击提交时,没有任何反应。我的jQuery代码在我的聊天应用程序中不起作用

你知道问题出在哪里吗?

view

<script type="text/javascript"> 

    var chat_id = "<?php echo $chat_id; ?>" ; 
    var user_id = "<?php echo $user_id; ?>" ; 
    var base_url = "<?php echo base_url(); ?>" ; 



    $(document).ready(function() { 
    $('#submit_message').on('click', function() { 
     var chat_message_content = $('#chat_message').val(); 
     if(chat_message_content == "") { return false; } 
     $.post(base_url + "chat/ajax_add_chat_message", { chat_message_content : chat_message_content, chat_id : chat_id, user_id : user_id } , function(data){ 

      alert(data); 

     }, "json"); 


     return false; 
    }); 
    }); 
</script> 

controller(称为聊天):

public function ajax_add_chat_message() { 

    $chat_id = $this->input->post('chat_id'); 
    $user_id = $this->input->post('user_id'); 
    $chat_message_content = $this->input->post('chat_message_content'); 
    $this->load->model('db_chat'); 
    $this->db_chat->add_chat_message($chat_id , $user_id , $chat_message_content); 
} 
+0

什么不会发生?回调是否被执行? (你看到'alert'吗?)在你的Web浏览器的开发工具中是否有请求和响应?如果是这样,那么回应是什么?你期望发生的事情不会发生什么? HTML在哪里? –

回答

1

您需要在您的ajax_add_chat_message()函数来获取警报返回的东西的工作原理:

public function ajax_add_chat_message() { 

    $chat_id = $this->input->post('chat_id'); 
    $user_id = $this->input->post('user_id'); 
    $chat_message_content = $this->input->post('chat_message_content'); 
    $this->load->model('db_chat'); 
    $saved = $this->db_chat->add_chat_message($chat_id , $user_id , $chat_message_content); 
    // $saved return TRUE or FALSE 

    $response = array('err' => true, 'msg' => 'failed'); 
    if($saved) 
     $response = array('err' => false, 'msg' => 'success'); 

    return $this->output->set_content_type('application/json') 
         ->set_output(json_encode($response)); 

} 

在您的视图文件中:

$.post(base_url + "chat/ajax_add_chat_message", { chat_message_content : chat_message_content, chat_id : chat_id, user_id : user_id } , function(data){ 

    alert(data.msg); 
    console.log(data); 

}, "json");