CodeIgniter - How to return Json response from controller
return $this->output ->set_content_type('application/json') ->set_status_header(500) ->set_output(json_encode(array( 'text' => 'Error 500', 'type' => 'danger' )));
//do the edit in your javascript$('.signinform').submit(function() { $(this).ajaxSubmit({ type : "POST", //set the data type dataType:'json', url: 'index.php/user/signin', // target element(s) to be updated with server response cache : false, //check this in Firefox browser success : function(response){ console.log(response); alert(response)}, error: onFailRegistered }); return false; }); //controller functionpublic function signin() { $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); //add the header here header('Content-Type: application/json'); echo json_encode( $arr );}
For CodeIgniter 4
, you can use the built-in API Response Trait
Here's sample code for reference:
<?php namespace App\Controllers;use CodeIgniter\API\ResponseTrait;class Home extends BaseController{ use ResponseTrait; public function index() { $data = [ 'data' => 'value1', 'data2' => 'value2', ]; return $this->respond($data); }}