[英]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.