2016-03-07 6 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);, иначе просто опустите dataType:json в свойствах AJAX.

+0

получил решение спасибо. – Himanshu

+0

yup Я новичок в этом за советы :) – Himanshu

+0

Отлично, приветствую партнера –

Смежные вопросы