Welcome Guest, Not a member yet? Register   Sign In
I can't send a AJAX request in a codeigniter server
#4

(08-18-2020, 03:47 AM)InsiteFX Wrote: If you want help on this you will need to show your controller code and ajax code.
Here is my code

JavaScript

Code:
$(document).on('submit', '#login', function(e){
    e.preventDefault();
    let datos = {
        usuemail : $("#usuemail").val(),
        usupass  : $("#usupass").val()
    }
    $.ajax({
        url:'/signin',
        method:'POST',
        data:{data: btoa(JSON.stringify(datos))},
        dataType:'JSON',
        beforeSend:function(){
            $("button[type=submit]").addClass('disabled');
            Swal.fire({
                toast: true,
                position: 'top-end',
                showConfirmButton: false,
                timer: 3000,
                type: 'info',
                title: 'Verficando informacion'
            });
        },
        success:function(response){
            Swal.fire({
                toast: true,
                position: 'top-end',
                showConfirmButton: false,
                timer: 3000,
                type: 'success',
                title: response.message,
            });
            window.location = '/inicio';
            $("button[type=submit]").removeClass('disabled');
        },
        error: function(request){
            $("button[type=submit]").removeClass('disabled');
            Swal.fire({
                toast: true,
                position: 'top-end',
                showConfirmButton: false,
                timer: 3000,
                type: 'error',
                title: request.responseJSON.message,
            });
        }
    });
});

Controller

PHP Code:
<?php namespace App\Controllers;

use 
App\Models\Usuarios_model;
use 
CodeIgniter\API\ResponseTrait;

class 
Login extends BaseController{

     use 
ResponseTrait;

    public function 
signin(){
        
$model = new Usuarios_model();
        
$encrypter = \Config\Services::encrypter();
        
$session session();
        if(
$this->request->isAJAX()){
            
$datos json_decode(base64_decode($this->request->getPost('data')));
            
$data['usuemail'] = $datos->usuemail;
            
$data['usupass'] = md5($datos->usupass);
            
$query $model->login_user($data);
            if(
$query->resultID->num_rows 0){
                
$userdata = array();
                foreach(
$query->getResult() as $row){
                    
$userdata['userid']   $row->userid;
                    
$userdata['usupnom']  $row->usupnom;
                    
$userdata['usupape']  $row->usupape;
                    
$userdata['usuemail'] = $row->usuemail;
                    
$userdata['usurol']   intval($row->idrol);
                    
$userdata["deptid"]   $row->deptid;
                    
$userdata['logged']   TRUE;
                }
                
$session->set($userdata);
                return 
$this->respond(json_encode(array('message' => 'Usuario encontrado')), 200);
            }
            else{
                return 
$this->respond(json_encode(array('message' => 'Usuario o contraseña incorrectos')), 404);
            }
        }
        else{
            
redirect()->to('/403');
        }
    } 

Routes.php

PHP Code:
/*Rutas para login*/
$routes->post('/signin''Login::signin'); 


In the development Enviroment works perfectly, but in a Docker container not,
Reply


Messages In This Thread
RE: I can't send a AJAX request in a codeigniter server - by kaiserf50 - 08-21-2020, 05:34 AM



Theme © iAndrew 2016 - Forum software by © MyBB