Una forma de ver lo que se envía por POST a través ajax en PHP es probarlo en la misma página y mostrarlo con un alert, así verificamos que lo que se va es lo deseado.
<?php if($_SERVER['REQUEST_METHOD'] == 'POST') { echo '<pre>'; print_r($_POST); exit; // importante! } ?> <form method="post" id="classic_login" action=""> <input type="text" name="user" placeholder="Username" class="classic_field" id="user_field" /> <input type="text" name="pass" placeholder="Password" class="classic_field" id="pass_field" /> <input type="submit" name="login" value="Login" class="classic_button" id="login_button" /> <input type="submit" name="register" value="Register" class="classic_button" id="register_button" /> </form> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script type="text/javascript"> $("#classic_login").submit(function(event) { var formdata = $(this).serialize(); event.preventDefault(); $.ajax({ url: document.URL, type: 'POST', data: formdata, success: function(response) { alert(response); } }); }); </script>
Si es un ARRAY lo que enviamos:
"data": {sData:sData},
En codeigniter en el controlador lo atrapamos de esta forma
function test(){ $data = $this->input->post('sData'); print_r($data); }