繁体   English   中英

TypeError:使用codeigniter的登录/注册ajax,数据为null

[英]TypeError: data is null with login/signup ajax with codeigniter

使用正确的用户名和密码登录时出现此错误:

TypeError:数据为空

当我使用错误的密码登录时,验证错误将正常工作。

登录控制器

public function do_login() {

$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean|min_length[4]|max_length[20]');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|min_length[4]|max_length[20]');

if ($this->form_validation->run() == FALSE) 
{
$output = array('st'=>0, 'msg' => validation_errors());
     echo json_encode($output);
}
else {
$data = array(
'username' => $this->input->post('username'),
'password' => $this->input->post('password')
);
$result = $this->user_model->login($data);
if ($result == TRUE) {

$username = $this->input->post('username');
$result = $this->user_model->read_user_information($username);
if ($result != false)
{
$session_data = array('user_id' => $result[0]->user_id,);
$this->session->set_userdata('logged_in', $session_data);
$output= array('st'=>1);
     echo json_encode($output);
}
} else {
$output = array('st'=>0, 'msg' => "Invalid Username or Password");

         echo json_encode($output);
}}

剧本

 <script type="text/javascript">
 $(document).ready(function() {
 $('#frm').submit(function(event){

 $.post(
     $('#frm').attr('action'), 
     $('#frm').serialize(), 
     function(data) 
     {

     if (data.st == 0)
     {
     $('#validation-error').html(data.msg);
     }
           else if (data.st == 1)
     {
      window.location.href = "<?php echo site_url('home'); ?>";
    }
     }, 
     'json'
   );
return false;   
});


});

</script>

问题出在我正在发送用户名的模型中,在模型中,它需要user_id作为参数而不是用户名

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM