Saludos amigos y perdonen los inconvenientes
Estoy intentando realizar una autenticación en Yii utilizando un Ajax Request desde una forma externa (fuera de Yii)
<script type="text/javascript">
$('document').ready(function(){
$('#form-login').submit(function(){
console.log('sometido');
var $inputs = $('#form-login :input');
var values = {};
$inputs.each(function() {
values[this.name] = $(this).val();
});
//alert(values['username']);
var e = "e="+encodeURIComponent(values['username']);
var p = "p=" +encodeURIComponent(values['passwd']);
var url = "/index.php/site/getAuth";
var params = e + "&" + p;
$.ajax({
type: "get",
dataType: "json",
url: url,
data: params,
context: document.body,
//processData: true,
crossDomain:true,
beforeSend: function(data){
alert('Before Send');
//alert(data);
},
success:function(data){
alert('success');
//alert(data);
},
error:function(data, textStatus){
alert(data + " " + textStatus);
//alert(data);
/*$.each(data, function(key, val) {
alert(key + " " + " " + val);
});
*/
},
complete:function(data){
alert('complete');
//alert(data);
},
});
});
});
</script>
Técnicamente recojo de la forma los valores de username y password y los paso a una funcion en el controlador la cual recoje los datos y los envia a otra función que es la autenticación en Yii.
public function actionGetAuth($e, $p){
$model=new LoginForm;
if($model->login($e, $p))
{
if(!Yii::App()->user->isGuest) {
Yii::app()->user->setState('type','student');
Yii::log('state ' . Yii::app()->user->tipo);
}
//$this->redirect(Yii::app()->user->returnUrl);
}
//$this->render('login',array('model'=>$model));
return true;
}
Pero estoy teniendo un problema en la llamada Ajax ya que estoy recibiendo mensaje de Error y no tengo la más mínima idea de lo que me falta para obtener un Success.
Como estoy realizando programación en un ambiente de prueba, todas las llamadas se estan haciendo bajo localhost en mi computadora. He probado la autenticación y la misma funciona correctamente fuera de esta llamada.
Bajo mi poca experiencia en programación entiendo que al hacer la llamada de Ajax, necesito crear la sesión de autenticación para poder acceder a Yii una vez realize la misma.
Gracias,