I am making a ajax
call with jQuery on a controller in CodeIgniter
. The problem is that when jQuery
returns me the data, it is coming with some spaces in front of the result, being for example:
(ESPAÇO) (ESPAÇO) (ESPAÇO) sucesso
. The problem I do not know where it can be, since the model and controller are correct:
Model
public function AdicionarAoCarrinho($codigo){
$this->db->where('estoque > ', $this->limiteEstoque);
$this->db->where('codigo', $codigo);
$produto = $this->db->get('produtos');
if($produto->num_rows() > 0){
if(!$this->session->userdata('session_user')){
$sessao = $this->session->set_userdata('session_user', md5(time()+rand(32401, 460312)));
}else{
$sessao = $this->session->userdata('session_user');
}
$dataProdutoCarrinho = array(
'id_session'=>$sessao,
'id_produto'=>$codigo
);
if($this->db->insert('carrinho', $dataProdutoCarrinho)){
return 'sucesso';
}else{
return 'erro';
}
}else{
return 'estoque';
}
}
Controller
public function adicionar_carrinho(){
if($this->input->post('codigo')){
$codigo = $this->input->post('codigo');
echo $this->produto_model->AdicionarAoCarrinho($codigo);
}
}
jQuery
<script>
$(document).ready(function(){
$("a.botao_comprar").click(function(){
var codigo = $(this).attr('codigo');
var baseURL = $("#baseURL").val();
$.ajax({
url: baseURL+'produto/adicionar_carrinho',
type: 'POST',
data: {codigo: codigo},
success:function(callback){
alert(callback); //Coloquei o alert para ver, e nele sai os espaços e mesmo que saia "sucesso" ele me retorna o erro do ultimo else
if(callback == 'estoque'){
swal("Desculpe...", "Mas o produto que você está tentando comprar, não temos no estoque ;(", "error");
}else if(callback == 'sucesso'){
swal("Parabéns", "o produto foi adicionado com sucesso ao carrinho", "success");
}else{
swal("Oops...", "Ocorreu um erro desconhecido ao adicionar o produto no carrinho. Tente novamente, se o problema continuar, entre em contato conosco.", "error");
}
}
});
})
})
</script>