通过使用ajax获取结果值

时间:2012-05-01 22:10:04

标签: php ajax

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

它假设说'电子邮件不存在'。消息,如果没有电子邮件地址。

如果存在电子邮件地址,则假设说出第二条消息。

当我检查数据库服务器时,此控制器和模型命令有效。

然而,它只是说“有一个错误。”所有类型的消息。

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

1 个答案:

答案 0 :(得分:0)

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

console.log(result);

在你的成功函数中应该显示你从服务器返回的内容,并且应该很容易找出你为什么不匹配为TRUE或FALSE。