0

我正在使用 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;
    }

它应该说“电子邮件不存在”。如果没有电子邮件地址,请发送消息。

如果存在电子邮件地址,则应该说第二条消息。

当我检查数据库服务器时,这个控制器和模型命令起作用了。

但是,它只显示“有错误”。所有类型的消息。

我检查了百万次,但不知道为什么它没有说正确的话。

4

1 回答 1

0

据我所知,您只打算将 TRUE 或 FALSE 返回给客户端。如果您不匹配其中任何一个,问题是,您的成功处理程序中 result 的值是什么?

console.log(result);

在您的成功函数中应该向您显示您从服务器返回的内容,并且从那里应该很容易找出您不匹配 TRUE 或 FALSE 的原因。

于 2012-05-02T00:23:07.360 回答