2016-03-07 81 views
1

我有CodeIgniter的問題。我怎樣才能將數組從視圖傳遞給控制器​​? 我無法通過點擊按鈕調用公共功能sms()將數據發送到控制器。傳遞數組從查詢到控制器,codeigniter

這裏是我的代碼無法正常工作:

<script> 
function send_sms() { 
    var chkBoxArray = new Array(); 
     $(document).ready(function (e) { 

     $('#table input[type="checkbox"]:checked').each(function() { 
      var getRow = $(this).parents('tr'); 
      chkBoxArray.push(getRow.find('td:eq(9)').html()); 
     }); 

     alert(chkBoxArray); 
     reload_table(); 
    }); 

    $.ajax({ 
     url: "<?php echo site_url('person/sms')?>", 
     type: "POST", 
     data: { 'arr': chkBoxArray }, 
     dataType: "JSON", 
     success: function (data) { 
      // if success reload ajax table 
      // alert(chkBoxArray); 
      // reload_table(); 
     }, 
     error: function (jqXHR, textStatus, errorThrown) { 
      alert('Error adding/update data'); 
     } 
    }); 
} 
</script> 

控制器代碼:

public function sms() { 
    $arr = $this->post('arr'); 
    foreach($arr as $ar) { 
    echo $ar; // prints each element of the array. 
    } 
} 
+1

不清楚具體問題是什麼。 *「不起作用」*是一個沒有意義的問題陳述,並沒有提示哪個部分不起作用 – charlietfl

+0

先用'data:{arr:chkBoxArray},'嘗試。 – Tpojka

回答

0

您應該使用:$arr = $this->input->post('arr');檢索後的值,如果你希望返回的結果是JSON類型,然後在服務器端,您需要調整PHP代碼以使用echo json_encode($arrayVariable);返回它,否則只需在AJAX屬性中忽略dataType:json

+0

得到了解決方案,謝謝。 – Himanshu

+0

是的,我是新來的,謝謝你的建議:) – Himanshu

+0

太棒了,歡迎大家 –

相關問題