2016-01-03 1 views
0

J'ai une méthode de connexion dans mon contrôleur où je vérifie s'il y a un tel utilisateur dans la base de données ou non. J'appelle cette méthode quand j'appuie sur le bouton Envoyer. Je montre la connexion à partir de la vue en même temps.Comment utiliser Ajax et retourner la vue en même temps

Dans mon cas, il n'y a pas de message s'il y a un tel utilisateur. Je pense que dans mon contrôleur, je charge la vue.

Comment est-ce que je pourrais montrer ce message s'il y a un tel utilisateur utilisant Ajax et si je retourne la vue comme je fais dans mon cas? J'utilise Kohana. Merci!

Mon code est:

$(document).ready(function(){ 
 

 
    $('#submit').on('click', function() { 
 

 
    if(username.length === 0 || password.length === 0) { 
 
     //...check if validation fails 
 
    } 
 
    else { 
 
     $.ajax({ 
 
     url: "/admin/signin" , 
 
     type: "POST", 
 
     data: { 
 
      "username":username, 
 
      "password":password 
 
     }, 
 
     success: function(data) { 
 
      if(data !== 'error') { 
 

 
      window.location = "/admin/index"; 
 
      } 
 
      else 
 
      { 
 
      alert('no such user'); 
 
      } 
 
     } 
 
     }); 
 
    } 
 

 
    }); 
 

 
});
public function action_signin() 
 
{ 
 

 
if ($_POST) { 
 
$is_admin = Model_Admin::signin($_POST);   
 

 
print 'success'; 
 
} else { 
 
print 'error'; 
 
} 
 
} 
 

 
$this->template->content = View::factory('admin/login_form'); 
 

 

 
}

+0

avez-vous réussi à trouver une solution? – Faraz

Répondre

0

Si vous ne voulez pas charger le modèle 'par défaut' essayez d'utiliser $this->auto_render = FALSE; également contrôleur kohana a méthode is_ajax $this->request->is_ajax()

0

code du contrôleur Il vous sera comme ça.

public function action_signin() 
{ 
    if($this->request->is_ajax()){ 
     $this->auto_render = FALSE; 
    } 

    if ($_POST) { 
     $is_admin = Model_Admin::signin($_POST);   
     if($is_admin){ 
      print 'success'; 
     } else { 
      print 'error'; 
     } 
    }else{ 
    $this->template->content = View::factory('admin/login_form'); 
    } 
}