header(‘Access-Control-Allow-Origin: *’) não funciona no codeigniter

Recentemente estava desenvolvendo um aplicativo mobile com angularjs e precisava salvar alguns dados no mysql. Pensando nisso, resolvi criar uma aplicação codeigniter para receber a solicitação e salvar meus dados.
O problema era que sempre dava um erro quando eu tentava acessar meu controller no codeigniter: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

Como resolver esse problema?
No Controller, no Codeigniter atualize o método construct:

public function __construct()
 {
 header(‘Access-Control-Allow-Origin: *’);
 header(“Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method”);
 header(“Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE”);
 $method = $_SERVER[‘REQUEST_METHOD’];
 if($method == “OPTIONS”) {
 die();
 }
 parent::__construct();
 }

E no angularjs, pode enviar os dados para o backend dessa forma:

var user = {
email:'meu@email.com',
password:'meu_password'
}

$http({
 method: ‘POST’,
 url:'sua_url/seu_controller/seu_método',
 data: {email:user.email, password:user.password}
 }).then(function(response){
 //Usuário adicionado com sucesso
 console.log(response)
 }, function(error){
 console.log(“erro: “+error)
 //Ocorreu algum problema ao adicionar usuário
 })

E finalmente para capturar a informação enviada pelo $http no codeigniter:

public function meu_backend(){
$request = json_decode( file_get_contents(‘php://input’) );
 $email = $request->email;
 $password = $request->password;

… //resto do método
}

Esse foi um problema que tive e espero que possa ajudar vocês e facilitar o trabalho na hora de desenvolver com AngularJs e Codeigniter!

Abraço!