Я хочу проверить форму входа в систему, используя AJAX, но не могу заставить ее работать.Проблема в «успехе», я думаю.(Я использую платформу Codeigniter) Вот мой код:
контроллер:
function verificarSesion()
{
if($this->input->post("submitLogin"))
{
$var = $this->usuariosModelo->verificarSesion();
if($var)
{
$sesion = array("usuario" => $this->input->post("usuario"));
$this->session->set_userdata($sesion);
echo "0";
}
else
{
echo "1";
}
}
else
{
echo "2";
}
}
модель:
function verificarSesion()
{
$consulta = $this->db->get_where("usuarios", array(
"usuario"=>$this->input->post("usuario", TRUE),
"contraseña"=>$this->input->post("contraseña", TRUE)));
if($consulta->num_rows() == 1)
{
return true;
}
else
{
return false;
}
}
просмотр:
<form name="formIni" id="formIni2" action="<?php echo base_url('verifSesion');?>" method="POST" >
<label for="usuario">Usuario</label>
<input type="text" name="usuario">
<label for="contraseña">Contraseña</label>
<input type="password" name="contraseña">
<input onclick="funcion()" type="submit" value="Login" name="submitLogin">
и скрипт:
function funcion()
{
$("#formIni2").submit(function(event){
event.preventDefault();
$.ajax({ //envio por ajax los datas
url: $(this).attr("action"),
type: $(this).attr("method"),
data: $(this).serialize(),
success:function(resp){
if(resp!=0)
{
alert("not ok");
}
else
{
alert("ok");
}
}
});
});
}
Без запроса AJAX все работает нормально, поэтому я думаю, что ошибка в скрипте.Я мог заметить, что переменная resp
не получает значение.
Спасибо.
Редактировать 1: Я вижу "0" из эха, но такжееще два символа, которые я не знаю, откуда они взялись
Редактировать 2: я редактировал функцию контроллера "verificarSesion ()", теперь возвращаемое значение равно "0", "1" и "2", и я вижу, что всегда возвращают" 2 ".