2015-02-09 98 views
1

正試圖處理來自的數據htmlform使用jquery ajax codeigniter但它不返回任何值。Codeigniter Jquery Ajax,無法從控制器訪問數據返回到HTML表格

這是jQuery的代碼正在使用對數據進行處理

$(document).ready(function(){ 
    $("#chat_create_room").submit(function(){ 
     var chat_name = $(".chat_name").val(); 
     $("#response").html('<b>Fetching data...</b>'); 
     $.ajax({ 
      type: 'POST', 
      url: 'site/create_chat_room', 
      dataType: 'json', 
      data: {chat_room_name: chat_name}, 
      success: function(data){ 
       $("#response").html(data.chat_room_name); 
       $("#submit").css("display", "none"); 
      } 
     }); 
     return false; 
    }); 

這是笨控制器功能正在使用從Jquery的

public function create_chat_room(){ 
     if($this->session->userdata('logged_in')){ 

     $data = array(
     'chat_room_name' => $this->input->post('chat_room_name') 
     ); 
     $chat_room_name = json_encode($data); 
     $table_exists = $this->users->table_exists($chat_room_name); 

     if($table_exists){ 
      echo 'Sorry the table you choose already exist!'; 
     }else{ 
      echo "<strong>".$chat_room_name."</strong> has been created!"; 
     } 

     }else{ 
      $this->load->view('view_site'); 
     } 

搶數據,但如果我嘗試這在codeigniter控制器功能,它工作正常

public function create_chat_room(){ 

    $data = array(
    'chat_room_name' => $this->input->post('chat_room_name') 
    ); 

    $chat_room_name= json_encode($data); 
    echo $chat_room_name; 

} 

我想要的主要事情是,首先處理給定的值(這是Json對象)從Jquery到Codeigniter控制器,然後檢查天氣數據庫中是否存在給定的值,如果值存在,我提醒用戶任何消息

謝謝

+0

試着改變數據類型爲html ... – Wilmer 2015-02-09 12:54:37

+0

你正在返回html而不是數據。在你的另一個例子中,你回顯json編碼的數據,因此得到一個迴應 – Quince 2015-02-09 12:59:36

+0

是的,如果我回應最後一個例子,我得到一個迴應 – 2015-02-10 07:49:40

回答

0

我一直在嘗試不同的選擇,但最終我得到了它 ,我不得不調整一些一些東西,比如代替處理JSON到笨控制器我只處理正常的數據。

jQuery代碼

$("#chat_create_room").submit(function(){ 
    var chat_name = $(".chat_name"); 
    $("#response").html('<img src="img/ugchat_loader.GIF"/>'); 
    $.ajax({ 
     type : 'POST', 
     url : 'site/create_chat_room', 
     data : chat_name, 
     success : function(res){ 
      if(res == ""){ 
      $("#response").html('Nothing returned!'); 
     }else{ 
      $("#response").html(res); 
     } 
     } 
    }); 
    $(".chat_name").val(''); 
    return false; 

使用笨控制器

public function create_chat_room(){ 
    if($this->session->userdata('logged_in')){ 
     sleep(3); 
    $chat_room_name = $this->input->post('chat_room_name'); 
    $table_exists = $this->users->table_exists($chat_room_name); 
    if($table_exists){ 
     echo '<div class="alert alert-danger"><strong>Error</strong> Sorry the chatroom name is already taken!</div>'; 
    }else{ 
     echo '<div class="alert alert-success"><strong>Success</strong> Your chatroom has been created</div>'; 
    } 

    }else{ 
     redirect(base_url()."site"); 
    } 

和模型
後基本上病房抓住每一件事情在功能檢查的表是否包含在我們的數據庫 並返回對或錯;

之後,我們評估結果,並在我們的控制器對其進行測試,然後將數據返回到我們的HTML

public function table_exists($table_exists){ 
    $tables = $this->db->table_exists($table_exists); 
    if($tables){ 
     return true; 
    }else{ 
     return false; 
    } 

} 

我希望它能幫助
爲nulldev

相關問題