我正在使用Codeigniter平台。
这里是ajax
$.ajax({
type: 'POST',
url: '/account/findpassword/exec',
data: {
'user_email': val
},
cache: false,
async: false,
success: function(result){
if(result == 'FALSE')
alert('Email does not exist.');
else if(result == 'TRUE')
alert('We sent a new password to your email.');
else
alert('There is an error.');
}
});
这是控制器
function exec()
{
$email = $this->input->post('user_email');
$this->load->model('account/findpassword_model', 'findpass');
$u_data = $this->findpass->get_user_data($email);
if($u_data == FALSE)
{
$result = 'FALSE';
echo $result;
exit;
}
else
{
$this->findpass->set_user_newpass($u_data['u_id'], $new_pass);
echo 'TRUE';
}
}
这是模型
function get_user_data($email)
{
$query = 'SELECT u_id, u_name FROM '.T_USER_ACCOUNT.' WHERE u_email = "'.$email.'"';
$result = $this->db->query($query)->result_array();
if(count($result) > 0)
return $result[0];
else
return FALSE;
}
它假设说'电子邮件不存在'。消息,如果没有电子邮件地址。
如果存在电子邮件地址,则假设说出第二条消息。
当我检查数据库服务器时,此控制器和模型命令有效。
然而,它只是说“有一个错误。”所有类型的消息。
我检查过百万次,但不知道为什么它没说正确的话。
答案 0 :(得分:0)
据我所知,您只打算将TRUE或FALSE返回给客户端。如果你不匹配其中任何一个,那么问题是,成功处理程序中结果的价值是什么?
console.log(result);
在你的成功函数中应该显示你从服务器返回的内容,并且应该很容易找出你为什么不匹配为TRUE或FALSE。